Egloos 728x90

구글 애널리틱스


2008/12/31 15:30

[ Java ] File 객체로 임시 파일 생성 ▷ Java 복습



  File 객체로 임시 파일을 생성하는 방법입니다. 보통 윈도우즈에 *.tmp라는 이름으로 생기는 녀석들 말이죠.(물론 파일명을 꼭 *.tmp로 할 필요는 없지만서도)


/* 임시 파일
JavaStudy(http://www.javastudy.co.kr)
→자바 프로그래밍 강좌→Java Programming / 박용우
→제7장 자바 입출력(http://www.javastudy.co.kr/docs/yopark/chap07/chap07.html)
→→ 1. 파일과 디렉토리 관리
→→→ '라. 임시 파일의 생성' 참조.
*/

import java.io.*;

public class TempFileTest {

public static void main(String args[]) {

try {

File tf1 = File.createTempFile("~AIIT", ".tmp");
//public static File createTempFile(String prefix, String suffix) throws IOException:
// 디폴트 이름을 생성하기 위한 prefix와 suffix 문자열을 이용하여, 임시 디렉토리(default temporary-file directory)에
//새로운 임시(temp) 파일을 생성합니다.

File tf2 = File.createTempFile("~AIIT", null);

File tf3 = File.createTempFile("~AIIT", ".tmp", new File("c:\\temp"));
//public static File createTempFile(String prefix, String suffix, File directory) throws IOException:
// 이름을 생성하기 위한 prefix와 suffix 문자열을 이용하여, 주어진 디렉토리에 새로운 임시(temp) 파일을 생성합니다.

tf1.deleteOnExit(); // mark "delete on exit"
tf2.deleteOnExit(); // 종료됨과 동시에 삭제됨
tf3.deleteOnExit();

System.out.println("temp Dir: " + System.getProperty("java.io.tmpdir"));

System.out.println("temp file1: " + tf1);
System.out.println("temp file2: " + tf2);
System.out.println("temp file3: " + tf3);

} catch (IOException e) {

System.err.println(e);

}

}

}

/*

* Results:

D:\AIIT\JAVA\07>java TempFileTest

temp Dir: C:\WINDOWS\TEMP\

temp file1: C:\WINDOWS\TEMP\~AIIT54896.tmp

temp file2: C:\WINDOWS\TEMP\~AIIT54897.tmp

temp file3: c:\temp\~AIIT54898.tmp

D:\AIIT\JAVA\07>

*/

  파일명과 확장자, 그리고 생성될 폴더를 지정해주면 그냥 만들어집니다. 단지, 확장자를 지정해주지 않으면 자동으로 'tmp'가 되고, 생성될 폴더를 지정해주지 않으면 자동으로 WINDOWS\TEMP\ 폴더에 생성됩니다.

  똑같은 파일명으로 만들어도 알아서 숫자가 붙는 것도 특징이죠. 따라서 .deleteOnExit() 설정을 꼭 해주는 게 좋습니다. 안 그러면 실행할 때마다 무한정 파일이 계속해서 생겨날 테니...

덧글

댓글 입력 영역

애드센스336x280

알라딘TTB-Egloos(하단-일반)



이 이글루를 링크한 사람 (블랙)

36