Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

สร้างไฟล์ชั่วคราวใน Java: คู่มือปฏิบัติจริง

มีคราวที่เราต้องสร้างไฟล์ชั่วคราว (temporary files) ทางการบิน เพื่อเก็บข้อมูลบางอย่างและลบทิ้งหลังใช้งาน

ใน 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 { // สร้างไฟล์ชั่วคราว Path tempFile = Files.createTempFile("temp-", ".txt"); System.out.println("Temp file : " + tempFile); } catch (IOException e) { e.printStackTrace(); } } }

Output:

Temp file : /var/folders/nyckvw0000gr/T/temp-2129139085984899264.txt

ที่นี่ "temp-" คือ prefix และ ".txt" คือ suffix

หมายเหตุ: โดยค่าเริ่มต้น Java สร้างไฟล์ชั่วคราวใน temporary directory เราสามารถได้ temporary directory โดยทำ System.getProperty("java.io.tmpdir")

หาก suffix เป็น null ไฟล์ชั่วคราวจะสร้างด้วยนามสกุล .tmp

ตัวอย่าง:

Path tempFile = Files.createTempFile("prefix-", null); System.out.println("Temp file : " + tempFile); // Temp file : /var/folders/nyckvw0000gr/T/prefix-17184288103181464441.tmp

และหากไม่ระบุ suffix จะสร้าง temp file ไม่มีนามสกุล:

Path tempFile = Files.createTempFile(null, ""); System.out.println("Temp file : " + tempFile); // Temp file : /var/folders/nyckvw0000gr/T/1874152090427250275

สร้าง Temp File ใน Directory ที่ระบุ

แทนที่จะปล่อยให้ Java เลือก directory เราสามารถบอกได้ว่าจะสร้างไฟล์ชั่วคราวที่ไหน

ตัวอย่าง:

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/"); // สร้างไฟล์ชั่วคราวใน directory ที่ระบุ Path tempFile = Files.createTempFile(path, null, ".log"); System.out.println("Temp file : " + tempFile); } catch (IOException e) { e.printStackTrace(); } } }

หมายเหตุ: Directory ที่ระบุต้องมีอยู่จริง เพื่อให้เขียนไฟล์ชั่วคราวได้

สร้าง Temp File และเขียนข้อมูลลงไป

โค้ดตัวอย่างต่อไปนี้สร้างไฟล์ชั่วคราวแล้วเขียนข้อความลงไป:

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/"); // สร้างไฟล์ชั่วคราวใน directory ที่ระบุ Path tempFile = Files.createTempFile(path, null, ".log"); System.out.println("Temp file : " + tempFile); // เขียนบรรทัดเดียว Files.write(tempFile, "Hello From Temp File\n".getBytes(StandardCharsets.UTF_8)); } catch (IOException e) { e.printStackTrace(); } } }
  • Java write to files
  • Java create file
  • Java read files