일부 정보를 저장하고 나중에 삭제하기 위해 임시 파일을 즉석에서 생성해야 하는 경우가 있습니다.
Java에서는 Files.createTempFile()
을 사용할 수 있습니다. 임시 파일을 만드는 방법.
임시 파일 만들기
다음 예제에서는 Files.createTempFile(prefix, suffix)
을 사용합니다. 임시 파일을 생성합니다.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class CreateTempFile {
public static void main(String[] args) {
try {
// Create a temporary file
Path tempFile = Files.createTempFile("temp-", ".txt");
System.out.println("Temp file : " + temp);
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Temp file : /var/folders/nyckvw0000gr/T/temp-2129139085984899264.txt
여기서 "temp-"는 접두사이고 ".text"는 접미사입니다.
참고:기본적으로 Java는 임시 디렉토리에 임시 파일을 생성합니다.System.getProperty("java.io.tmpdir")
를 수행하여 임시 디렉토리를 얻을 수 있습니다. 접미사가 null이면 임시 파일이 .tmp로 생성됩니다. 확장자.
예:
Path tempFile = Files.createTempFile("prefix-", null);
System.out.println("Temp file : " + tempFile);
// Temp file : /var/folders/nyckvw0000gr/T/prefix-17184288103181464441.tmp
또한 접미사가 제공되지 않으면 확장자 없이 임시 파일이 생성됩니다.
Path tempFile = Files.createTempFile(null, "");
System.out.println("Temp file : " + tempFile);
// Temp file : /var/folders/nyckvw0000gr/T/1874152090427250275
지정된 디렉토리에 임시 파일 만들기
Java가 디렉토리를 선택하도록 하는 대신 임시 파일을 생성할 위치를 알려줄 수 있습니다.
예:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateTempFile {
public static void main(String[] args) {
try {
Path path = Paths.get("target/tmp/");
// Create a temporary file in the specified directory.
Path tempFile = Files.createTempFile(path, null, ".log");
System.out.println("Temp file : " + temp);
} catch (IOException e) {
e.printStackTrace();
}
}
}
참고:임시 파일을 쓰려면 지정된 디렉토리가 있어야 합니다. 임시 파일 생성 및 쓰기
다음 코드 예제는 임시 파일을 만든 다음 여기에 일부 텍스트를 씁니다.
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateTempFile {
public static void main(String[] args) {
try {
Path path = Paths.get("target/tmp/");
// Create an temporary file in a specified directory.
Path tempFile = Files.createTempFile(path, null, ".log");
System.out.println("Temp file : " + tempFile);
// write a line
Files.write(tempFile, "Hello From Temp File\n".getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
}
}
추가 참고 자료:
- Java 파일에 쓰기
- 자바 생성 파일
- 자바 읽기 파일