ภาพรวมของคลาส FileReader
คลาส FileReader ขยาย คลาส InputStreamReader และได้รับ การออกแบบมาเป็นพิเศษสำหรับการอ่านข้อมูลแบบอักขระจากไฟล์ เป็นตัวเลือกที่เหมาะสมที่สุดเมื่อทำงานกับไฟล์ข้อความ และช่วยให้สามารถอ่านอักขระจากไฟล์ได้อย่างมีประสิทธิภาพ หากต้องการใช้ คลาส FileReaderคุณต้องสร้างอินสแตนซ์และระบุเส้นทางของไฟล์เป็นพารามิเตอร์ สิ่งนี้จะสร้างการเชื่อมต่อระหว่างวัตถุตัวอ่านไฟล์และไฟล์ที่ระบุ ช่วยให้คุณสามารถอ่านอักขระจากวัตถุได้ตัวอย่าง Java FileReader
ลองดูตัวอย่างที่สาธิตวิธีการใช้ คลาส FileReaderเพื่ออ่านเนื้อหาของไฟล์:// We import the necessary classes: `java.io.BufferedReader`
import java.io.BufferedReader;
// We import the class: `java.io.FileReader` here to use fileReader
import java.io.FileReader;
// We import the class: `java.io.IOException` here to handle fileReader exception
import java.io.IOException;
public class FileReaderExample {
public static void main(String[] args) {
String filePath = "/path/to/example.txt";
try (FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader)) {
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
}
}
คำอธิบายรหัสเทียม:
- นำเข้าคลาสที่จำเป็น: BufferedReader , FileReaderและIOException
- กำหนดคลาสชื่อFileReaderExample
- ภายใน เมธอด หลักเราจะประกาศ ตัวแปร Stringชื่อfilePathและกำหนดพาธสัมบูรณ์ให้กับไฟล์ "example.txt" บนระบบ
- ใช้คำสั่ง try-with-resources เพื่อปิด อินสแตนซ์ FileReaderและBufferedReader โดยอัตโนมัติ เมื่อเราใช้งานเสร็จแล้ว
- ภายในบล็อก try ให้สร้าง วัตถุ FileReaderโดยส่งfilePathไปยังตัวสร้าง
- สร้าง วัตถุ BufferedReaderโดยส่ง วัตถุ FileReaderเป็นอาร์กิวเมนต์ ซึ่งช่วยให้เราสามารถอ่านไฟล์ทีละบรรทัดได้อย่างมีประสิทธิภาพ
- ประกาศ ตัวแปร Stringชื่อบรรทัดเพื่อจัดเก็บแต่ละบรรทัดของไฟล์
- ป้อนการวนซ้ำที่ดำเนินต่อ ไปตราบใดที่บรรทัดไม่เป็นค่าว่าง
- ภายในลูป อ่านบรรทัดจากไฟล์โดยใช้ วิธี readLineของวัตถุbufferedReader
- หากบรรทัดไม่เป็นnullให้พิมพ์ไปที่คอนโซลโดยใช้System.out.println( )
- หากมีข้อยกเว้นใดๆ เกิดขึ้นระหว่างการอ่านไฟล์ ให้จับมันไว้ใน catch block และพิมพ์ข้อความแสดงข้อผิดพลาด
เอาท์พุต
นี่คือบรรทัดที่ 1 นี่คือบรรทัดที่ 2 นี่คือบรรทัดที่ 3
หมายเหตุ: โปรแกรมอ่านแต่ละบรรทัดจากไฟล์ "example.txt" (ระบุโดย ตัวแปร filePath ) และพิมพ์ลงในคอนโซล หากมีข้อผิดพลาดเกิดขึ้นขณะอ่านไฟล์ก็จะแสดงข้อความแสดงข้อผิดพลาด ตรวจสอบให้แน่ใจว่าได้แทนที่ "/path/to/example.txt" ด้วยเส้นทางที่แน่นอนไปยังไฟล์ "example.txt" บนระบบของคุณเพื่อให้โค้ดทำงานได้อย่างถูกต้อง