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

จะอ่านไฟล์ .txt ด้วย RandomAccessFile ใน Java ได้อย่างไร


โดยทั่วไป ในขณะที่อ่านหรือเขียนข้อมูลไปยังไฟล์ คุณสามารถอ่านหรือเขียนข้อมูลได้ตั้งแต่เริ่มต้นไฟล์เท่านั้น คุณไม่สามารถอ่าน/เขียนจากตำแหน่งสุ่มได้

java.io.RandomAccessFile class ใน Java ช่วยให้คุณอ่าน/เขียนข้อมูลไปยังไฟล์เข้าถึงโดยสุ่มได้

สิ่งนี้ทำหน้าที่คล้ายกับอาร์เรย์ขนาดใหญ่ที่มีดัชนีหรือเคอร์เซอร์ที่เรียกว่าตัวชี้ไฟล์ คุณสามารถรับตำแหน่งของตัวชี้นี้โดยใช้ getFilePointer() เมธอดและตั้งค่าโดยใช้เมธอด find()

คลาสนี้จัดเตรียมวิธีการต่างๆ ในการอ่านและเขียนข้อมูลไปยังไฟล์ readLine() เมธอดของคลาสนี้อ่านบรรทัดถัดไปจากไฟล์และส่งกลับในรูปแบบสตริง

หากต้องการอ่านข้อมูลจากไฟล์โดยใช้ readLine() วิธีการของคลาสนี้ -

  • สร้างอินสแตนซ์คลาสไฟล์โดยส่งเส้นทางของไฟล์ที่ต้องการในรูปแบบสตริง

  • สร้างอินสแตนซ์คลาส StringBuffer

  • สร้างอินสแตนซ์คลาส RandomAccessFile โดยส่งออบเจ็กต์ File ที่สร้างขึ้นด้านบนและสตริงที่แสดงถึงโหมดการเข้าถึง (r:read, rw:read/write เป็นต้น)

  • วนซ้ำในไฟล์ในขณะที่ตำแหน่งน้อยกว่าวิธีความยาว (ความยาว ())

  • ต่อท้ายแต่ละบรรทัดกับวัตถุ StringBuffer ที่สร้างขึ้นด้านบน

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.io.File; นำเข้า java.io.IOException; นำเข้า java.io.RandomAccessFile; คลาสสาธารณะ RandomAccessFileExample { โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่น IOException { สตริง filePath ="D://input .txt"; // การตรวจสอบคลาสไฟล์ ไฟล์ไฟล์ =ไฟล์ใหม่ (filePath); // ทดสอบบัฟเฟอร์ StringBuffer StringBuffer =ใหม่ StringBuffer(); //สร้างตัวอย่าง RandomAccessFile RandomAccessFile raFile =new RandomAccessFile(ไฟล์ "rw"); //อ่านแต่ละบรรทัดโดยใช้เมธอด readLine() ในขณะที่ (raFile.getFilePointer()

ผลลัพธ์

เนื้อหาของไฟล์:Tutorials Point เกิดขึ้นจากแนวคิดที่มีกลุ่มผู้อ่านที่ตอบสนองต่อเนื้อหาออนไลน์ได้ดีกว่าและต้องการเรียนรู้ทักษะใหม่ๆ เนื้อหาและแหล่งข้อมูลของเรามีให้ใช้งานฟรี และเราต้องการเก็บไว้อย่างนั้น ส่งเสริมให้ผู้อ่านของเราได้รับทักษะมากเท่าที่พวกเขาต้องการ เราไม่บังคับให้ผู้อ่านของเราลงทะเบียนกับเราหรือส่งรายละเอียดด้วย เพลิดเพลินกับเนื้อหาฟรี