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
ล่วงหน้าหากมันไม่ใช่ค่าเริ่มต้น
ดูเพิ่มเติม
สำหรับการเพิ่มความกระชับ ลองดูที่นี่:
- คลาส
Files
ในเอกสารอย่างเป็นทางการของ Java - การอ่าน, เขียน, และสร้างไฟล์ สำหรับการเดินทางที่ละเอียดยิ่งขึ้น
- Apache Commons IO สำหรับไลบรารียูทิลิตี้ของ IO ไฟล์ที่ทรงพลัง