Saya perlu membaca fail dalam susunan terbalik, bermula dari baris terakhir dan maju ke arah permulaan.
Menggunakan Fail Akses Rawak dan Pengimbasan Talian
Untuk membaca fail dalam susunan terbalik menggunakan BufferedReader, kita boleh gunakan RandomAccessFile untuk memanipulasi penuding fail dan mengimbas pemisah baris dalam susunan terbalik.
Begini cara anda boleh melaksanakan pendekatan ini dalam Java:
<code class="java">import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; public class ReverseFileReader { public static void readAndReverse(String filePath) { try { // Create a RandomAccessFile instance for the file RandomAccessFile file = new RandomAccessFile(filePath, "r"); // Calculate the file length long fileLength = file.length(); // Create an ArrayList to store the lines of the file ArrayList<String> lines = new ArrayList<>(); // Set the file pointer to the end of the file file.seek(fileLength); // Scan backwards line by line, starting from the last line while (file.getFilePointer() > 0) { // Find the previous line break and move the file pointer to that position long lineStart = file.getFilePointer(); while (file.getFilePointer() > 0 && file.readByte() != '\n') { file.seek(file.getFilePointer() - 1); } // Read the line and add it to the list file.seek(lineStart); lines.add(file.readLine()); } // Close the file file.close(); // Reverse the order of the lines in the list Collections.reverse(lines); // Print the lines in reverse order for (String line : lines) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { // Specify the file path to be read in reverse order String filePath = "/path/to/your/file.txt"; // Read and reverse the file readAndReverse(filePath); } }</code>
Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail dalam Urutan Terbalik di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!