Как да създам временен файл в Java

Има моменти, когато трябва да създаваме временни файлове в движение, за да съхраняваме някаква информация и да ги изтриваме след това.

В 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')

Ако суфиксът е нула, временният файл се създава с .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();
}
} }
Забележка:Посочената директория трябва да съществува, за да може временният файл да бъде записан в нея.

Създайте Temp файл и напишете в него

Следният пример за код създава временен файл и след това записва малко текст в него:

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();
}
} }

Допълнителна информация: