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

วิธีสร้างไฟล์ชั่วคราวใน 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

นอกจากนี้ หากไม่มีส่วนต่อท้าย ไฟล์ 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 เขียนไปยังไฟล์
  • จาวาสร้างไฟล์
  • จาวาอ่านไฟล์