Rumah  >  Artikel  >  Java  >  Gunakan kelas BufferedReader dan BufferedWriter untuk mencapai pembacaan dan penulisan fail Java yang cekap

Gunakan kelas BufferedReader dan BufferedWriter untuk mencapai pembacaan dan penulisan fail Java yang cekap

PHPz
PHPzasal
2023-12-28 11:26:26475semak imbas

Gunakan kelas BufferedReader dan BufferedWriter untuk mencapai pembacaan dan penulisan fail Java yang cekap

Gunakan kelas BufferedReader dan BufferedWriter untuk membaca dan menulis fail Java yang cekap

Java menyediakan banyak kelas untuk membaca dan menulis fail, antaranya BufferedReader dan BufferedWriter ialah dua daripada kelas yang lebih biasa digunakan. Menggunakan kedua-dua kelas ini boleh meningkatkan kecekapan membaca dan menulis fail.

Kelas BufferedReader mewarisi daripada kelas Reader dan menyediakan strim input aksara dengan penimbal Ia boleh membaca berbilang aksara pada satu masa, mengurangkan bilangan akses kepada aliran input asas dan meningkatkan kecekapan membaca.

Kelas BufferedWriter mewarisi daripada kelas Writer dan menyediakan aliran keluaran aksara dengan penimbal Berbilang aksara boleh ditulis pada satu masa, yang mengurangkan bilangan akses kepada aliran keluaran asas dan meningkatkan kecekapan penulisan.

Berikut ialah contoh khusus menggunakan BufferedReader dan BufferedWriter untuk membaca dan menulis fail:

import java.io.*;

public class FileReadWriteExample {

    public static void main(String[] args) {
        
        // 源文件路径
        String sourceFile = "source.txt";
        // 目标文件路径
        String targetFile = "target.txt";
        
        try (
            // 创建BufferedReader对象
            BufferedReader reader = new BufferedReader(new FileReader(sourceFile));
            // 创建BufferedWriter对象
            BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile));
        ) {
            // 读取源文件的一行数据
            String line;
            while ((line = reader.readLine()) != null) {
                // 将读取到的数据写入目标文件
                writer.write(line);
                // 写入换行符
                writer.newLine();
            }
            
            System.out.println("文件读写完成。");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Dalam kod di atas, laluan fail sumber dan laluan fail sasaran ditakrifkan dahulu. Kemudian, objek BufferedReader dan BufferedWriter dicipta dalam pernyataan try-with-resources dan objek strim baca dan tulis fail yang sepadan dihantar masuk. Dalam gelung, gunakan kaedah readLine() untuk membaca data fail sumber baris demi baris, gunakan kaedah write() untuk menulis data pada fail sasaran dan kemudian gunakan kaedah newLine() untuk menulis aksara baris baharu. Akhirnya, objek BufferedReader dan BufferedWriter ditutup dalam blok akhirnya. Jika pengecualian berlaku semasa membaca atau menulis fail, blok tangkapan akan menangkap dan mencetak maklumat pengecualian.

Dengan menggunakan kelas BufferedReader dan BufferedWriter, kecekapan membaca dan menulis fail boleh dipertingkatkan dengan berkesan. Oleh kerana kedua-dua kelas ini menggunakan penimbal, mereka boleh membaca dan menulis lebih banyak data pada satu masa, mengurangkan bilangan akses kepada aliran input dan output asas, dengan itu meningkatkan kelajuan membaca dan menulis. Apabila memproses fail besar, menggunakan BufferedReader dan BufferedWriter boleh mengurangkan bilangan operasi IO dan meningkatkan prestasi program dengan ketara.

Ringkasan:
Menggunakan kelas BufferedReader dan BufferedWriter boleh meningkatkan kecekapan membaca dan menulis fail Java. Melalui penggunaan penimbal, berbilang aksara boleh dibaca dan ditulis pada satu masa, yang mengurangkan bilangan akses kepada aliran input dan output asas dan meningkatkan kecekapan operasi IO. Dalam pembangunan sebenar, terutamanya apabila memproses fail besar, menggunakan kedua-dua kelas ini boleh meningkatkan prestasi program dengan ketara.

Atas ialah kandungan terperinci Gunakan kelas BufferedReader dan BufferedWriter untuk mencapai pembacaan dan penulisan fail Java yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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