Rumah >Java >javaTutorial >Bagaimana untuk Membaca Fail dari Akhir ke Mula Menggunakan BufferedReader di Java?
Membaca Fail dari Akhir hingga Mula Menggunakan BufferReader dalam Java
Masalah:
Anda perlu membaca fail dari akhir hingga permulaan, dalam susunan terbalik, menggunakan BufferedReader.
Penyelesaian:
Kelas BufferedReader standard tidak menyokong pembacaan fail dalam susunan terbalik. Walau bagaimanapun, anda boleh menggunakan kelas RandomAccessFile untuk mencapai ini. Berikut ialah contoh cara anda boleh melakukannya:
<code class="java">import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.RandomAccessFile; public class ReverseFileReader { public static void main(String[] args) { // Create a RandomAccessFile to access the file RandomAccessFile file = null; BufferedReader reader = null; try { file = new RandomAccessFile("filepath.txt", "r"); // Get the file size long fileSize = file.length(); // Start reading from the end of the file file.seek(fileSize - 1); // Initialize a BufferedReader to read from the RandomAccessFile reader = new BufferedReader(new FileReader(file.getFD())); // Read the file line by line in reverse order while ((file.getFilePointer()) > 0) { // Get the current line String line = reader.readLine(); // Adjust the file pointer to the beginning of the previous line file.seek(file.getFilePointer() - line.length() - 1); // Print the line System.out.println(line); } } catch (FileNotFoundException e) { System.out.println("File not found."); } catch (IOException e) { System.out.println("Error reading file."); } finally { // Close the file and the reader try { if (file != null) file.close(); if (reader != null) reader.close(); } catch (IOException e) {} } } }</code>
Dalam contoh ini, RandomAccessFile digunakan untuk membaca fail dari hujung dengan bermula pada penghujung fail dan melaraskan penuding fail ke belakang untuk setiap baris dibaca. Apabila setiap baris dibaca, kedudukan permulaannya dilaraskan dalam fail sehingga permulaan fail dicapai, membolehkan anda membaca fail dalam susunan terbalik.
Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail dari Akhir ke Mula Menggunakan BufferedReader di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!