สร้างไฟล์ชั่วคราว

Java:
สร้างไฟล์ชั่วคราว

วิธีการ:

ใน Java, แพคเกจ java.nio.file เป็นตัวช่วยสำหรับไฟล์ชั่วคราว ลองดูโค้ดตัวอย่างนี้:

import java.nio.file.Files;
import java.nio.file.Path;

public class TempFileExample {
    public static void main(String[] args) {
        try {
            // สร้างไฟล์ชั่วคราว
            Path tempFile = Files.createTempFile(null, ".tmp");
            System.out.println("ไฟล์ชั่วคราวถูกสร้างที่: " + tempFile);

            // เขียนลงไฟล์ชั่วคราว
            Files.writeString(tempFile, "นี่คือเนื้อหาของไฟล์ชั่วคราว");

            // อ่านจากไฟล์ชั่วคราว
            String content = Files.readString(tempFile);
            System.out.println("เนื้อหาของไฟล์ชั่วคราว: " + content);

            // ลบไฟล์ชั่วคราว (ตัวเลือกนี้ไม่จำเป็นเพราะมันจะถูกลบเมื่อ JVM ออก)
            Files.delete(tempFile);
            System.out.println("ไฟล์ชั่วคราวถูกลบ");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

เมื่อรัน คุณจะได้ผลลัพธ์ประมาณ:

ไฟล์ชั่วคราวถูกสร้างที่: /tmp/user23423842348234823948.tmp
เนื้อหาของไฟล์ชั่วคราว: นี่คือเนื้อหาของไฟล์ชั่วคราว
ไฟล์ชั่วคราวถูกลบ

ดูดี, ใช่ไหม?

ลงลึก

ไฟล์ชั่วคราวเป็นส่วนหนึ่งของเครื่องมือของเรามานานแล้ว, ย้อนไปจนถึงยุคแรกของการคอมพิวเตอร์ พวกมันเป็นทางเลือกที่ดีที่สุดเมื่อคุณต้องการจัดการกับข้อมูลที่ไม่ควรคงอยู่

Java ช่วยคุณได้ด้วยคลาส Files ตั้งแต่ Java 7, ทำให้การจัดการไฟล์ชั่วคราวง่ายมาก ก่อนหน้านั้น, คุณจะต้องรับมือกับอ็อบเจ็กต์ File และหวังว่าทุกอย่างจะเป็นไปด้วยดี (แต่อย่ากลับไปในยุคมืดนั้น, ยอมรับ API ใหม่)

สิ่งที่น่าสนใจเกี่ยวกับวิธีการ createTempFile คือคุณสามารถระบุไดเร็กทอรีและคำนำหน้าหรือคำต่อท้ายของชื่อไฟล์, หรือปล่อยให้ทั้งหมดภายใต้การตัดสินใจโดยริยาของ Java เพียงแต่จำไว้ว่าหากคุณไม่ลบไฟล์เหล่านี้ด้วยตัวเอง, พวกมันจะอยู่ต่อไปจนกว่าโปรแกรมจะออก และในบางกรณี, เฉพาะกับแอปพลิเคชันที่ทำงานยาวนาน, คุณอาจต้องการทำความสะอาดด้วยตัวเองแทนที่จะรอตอนจบ

มีทางเลือกอื่นหรือไม่? แน่นอน, คุณอาจเลือกทำการดำเนินการกับไฟล์ด้วยตัวเองในแบบเก่า, หรือใช้วิธีการของระบบปฏิบัติการเฉพาะ หากนั้น, วิธีของ Java นั้นปลอดภัยและสามารถพกพาไปยังแพลตฟอร์มต่าง ๆ ได้มากกว่า

ดูเพิ่มเติม