การอ่านไฟล์ข้อความ

Java:
การอ่านไฟล์ข้อความ

วิธีการ:

การอ่านไฟล์ใน Java ง่ายมาก โดยเฉพาะกับ java.nio.file นี่คือตัวอย่างง่ายๆ:

import java.nio.file.Files;
import java.nio.file.Path;
import java.io.IOException;
import java.util.stream.Stream;

public class FileReadExample {
    public static void main(String[] args) {
        Path filePath = Path.of("example.txt");

        try (Stream<String> lines = Files.lines(filePath)) {
            lines.forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

เมื่อทำการรันด้วย example.txt ที่มีเนื้อหา “Hello, file readers!” จะได้ผลลัพธ์:

Hello, file readers!

ศึกษาเพิ่มเติม

Java ได้พัฒนาขึ้น ในอดีต คุณต้องจัดการกับ streams และ readers ด้วยตัวเอง - มากมายของ boilerplate แพคเกจ java.io เป็นที่นิยม พร้อม FileReader และ BufferedReader ที่มักจะถูกใช้งานอยู่ ต่อมาได้มี java.nio ที่นำเสนอ channels และ buffers สำหรับการควบคุมมากขึ้น

ตอนนี้ java.nio.file มีระดับสูงยิ่งขึ้น Files และ Paths ช่วยทำให้งานง่ายขึ้น ตัวอย่างข้างต้นใช้ Files.lines ซึ่งสตรีมบรรทัดอย่างช้าๆ ดีสำหรับไฟล์ขนาดใหญ่ คุณยังได้ใช้ try-with-resources ที่ปิดสตรีมโดยอัตโนมัติเพื่อหลีกเลี่ยงการรั่วไหล

มีทางเลือกอื่นหรือไม่? Scanner นั้นเหมาะสำหรับการวิเคราะห์ Apache Commons IO และ Guava ของ Google มียูทิลิตี้สำหรับงานที่ซับซ้อนมากขึ้น หากคุณต้องการ อย่างไรก็ตาม Java แบบธรรมดามักจะพาคุณไปได้ไกล

ในเรื่องของการประยุกต์ใช้งาน การเข้ารหัสไฟล์นั้นสำคัญ Files.lines ถือว่าเป็น UTF-8 เป็นค่าเริ่มต้น แต่คุณสามารถระบุอื่นได้ ในทางกลับกัน BufferedReader ต้องการให้คุณตั้งค่า Charset ล่วงหน้าหากมันไม่ใช่ค่าเริ่มต้น

ดูเพิ่มเติม

สำหรับการเพิ่มความกระชับ ลองดูที่นี่: