Има моменти, когато трябва да създаваме временни файлове в движение, за да съхраняваме някаква информация и да ги изтриваме след това.
В 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“ е суфиксът.
System.getProperty('java.io.tmpdir')
Ако суфиксът е нула, временният файл се създава с .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
'.getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
} }
Допълнителна информация: