Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Membaca Fail dari Akhir ke Mula Menggunakan BufferedReader di Java?

Mary-Kate Olsen
Lepaskan: 2024-10-24 10:26:29
asal
125 orang telah melayarinya

How to Read a File from End to Start Using BufferedReader in 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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!