มีบางครั้งที่เราจำเป็นต้องสร้างไฟล์ชั่วคราวในทันทีเพื่อจัดเก็บข้อมูลบางอย่างและลบออกในภายหลัง
ใน 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
นอกจากนี้ หากไม่มีส่วนต่อท้าย ไฟล์ temp จะถูกสร้างขึ้นโดยไม่มีส่วนขยาย:
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 เขียนไปยังไฟล์
- จาวาสร้างไฟล์
- จาวาอ่านไฟล์