Java:
การเขียนไฟล์ข้อความ
วิธีทำ:
การใช้ java.nio.file
(Standard Library)
Java’s New IO (NIO) package (java.nio.file
) ให้วิธีการที่หลากหลายมากขึ้นสำหรับการจัดการกับไฟล์ นี่คือวิธีง่ายๆ ในการเขียนลงไฟล์โดยใช้ Files.write()
:
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
public class TextFileWriterNIO {
public static void main(String[] args) {
List<String> lines = Arrays.asList("บรรทัดที่ 1", "บรรทัดที่ 2", "บรรทัดที่ 3");
try {
Files.write(Paths.get("example.txt"), lines);
System.out.println("เขียนไฟล์สำเร็จแล้ว!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
ผลลัพธ์:
เขียนไฟล์สำเร็จแล้ว!
การใช้ java.io
(Standard Library)
สำหรับวิธีการที่ดั้งเดิมยิ่งขึ้น java.io.FileWriter
เป็นตัวเลือกที่ดีสำหรับการเขียนไฟล์ข้อความอย่างง่าย:
import java.io.FileWriter;
import java.io.IOException;
public class TextFileWriterIO {
public static void main(String[] args) {
try (FileWriter writer = new FileWriter("example.txt")) {
writer.write("สวัสดี, โลก!\n");
writer.append("นี่คือบรรทัดอื่น.");
System.out.println("เขียนไฟล์สำเร็จแล้ว!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
ผลลัพธ์:
เขียนไฟล์สำเร็จแล้ว!
การใช้ Apache Commons IO
ห้องสมุด Apache Commons IO ทำให้การดำเนินการหลายอย่างเรียบง่ายขึ้น รวมถึงการเขียนไฟล์ นี่คือวิธีเขียนข้อความลงไฟล์โดยใช้ FileUtils.writeStringToFile()
:
ก่อนอื่น, เพิ่มการอ้างอิง (dependency) ลงในโปรเจกต์ของคุณ หากใช้ Maven, ใส่:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version> <!-- ตรวจสอบเวอร์ชั่นล่าสุด -->
</dependency>
จากนั้น, ใช้โค้ดดังต่อไปนี้เพื่อเขียนข้อความลงไฟล์:
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class TextFileWriterCommonsIO {
public static void main(String[] args) {
try {
FileUtils.writeStringToFile(new File("example.txt"), "นี่คือข้อความที่เขียนโดยใช้ Commons IO.", "UTF-8");
System.out.println("เขียนไฟล์สำเร็จแล้ว!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
ผลลัพธ์:
เขียนไฟล์สำเร็จแล้ว!