Java - 임시 폴더(Temp directory) 경로 가져오기

프로그램이 실행되는 OS에 해당하는 temp directory 경로를 가져오는 방법을 소개합니다.

Temporary directory는 OS마다 다릅니다.

  • Windows : %USER%\AppData\Local\Temp
  • Linux : /tmp

1. System.getProperty("java.io.tmpdir")

System.getProperty("java.io.tmpdir")는 tmp dir 경로를 리턴합니다.

public class GetTempDir {

    public static void main(String[] args) {

        String tempDir = System.getProperty("java.io.tmpdir");

        System.out.println(tempDir);
    }
}

Output:

/tmp

2. File.createTempFile()

File.createTempFile(prefix, suffix)는 tmp 경로에 비어있는 파일을 생성합니다.

파일 이름은 무작위로 결정되는데, 인자로 전달된 prefix와 suffix는 고정되어있고, 가운데 숫자만 무작위로 정해집니다.

import java.io.File;
import java.io.IOException;

public class GetTempDir2 {

    public static void main(String[] args) throws IOException {

        File tempFile = File.createTempFile("test_", ".tmp");
        String tempFilePath = tempFile.getAbsolutePath();
        System.out.println(tempFilePath);
    }
}

Output:

/tmp/test_3225281795536908985.tmp

프로그램이 종료되도 임시 파일은 삭제되지 않고 남아있게 됩니다.

프로그램 종료 시, 파일 삭제

File.deleteOnExit()를 호출하면 프로그램 종료 시 파일도 함께 삭제됩니다.

File tempFile = File.createTempFile("test_", ".tmp");

tempFile.deleteOnExit();
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha