Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mengeluarkan Baris Tertentu dengan Cekap daripada Fail Teks?

Bagaimanakah Saya Boleh Mengeluarkan Baris Tertentu dengan Cekap daripada Fail Teks?

Barbara Streisand
Lepaskan: 2024-12-02 06:03:13
asal
545 orang telah melayarinya

How Can I Efficiently Remove Specific Lines from a Text File?

Penyingkiran Talian daripada Fail: Mencari dan Menghapuskan Talian Tepat

Dalam mengejar manipulasi fail, mungkin timbul senario di mana garisan tertentu memerlukan untuk dialih keluar daripada fail teks yang diberikan. Untuk menangani keperluan ini, kami menyasarkan untuk mencari coretan kod yang mencari dan menghapuskan keseluruhan baris daripada fail.

Pertimbangkan contoh fail bernama "myFile.txt" dengan kandungan berikut:

aaa
bbb
ccc
ddd
Salin selepas log masuk

Penyelesaian yang kami kehendaki ialah fungsi yang membolehkan kami mengalih keluar talian tertentu. Sebagai contoh, jika kita memanggil "removeLine("bbb")", kandungan "myFile.txt" hendaklah dikemas kini kepada:

aaa
ccc
ddd
Salin selepas log masuk

Cadangan Kod Penyelesaian

Penyelesaian ini dengan cekap menjejaki baris yang ingin anda alih keluar dan menulis semula fail, tidak termasuk baris khusus itu, ke dalam fail sementara. Setelah operasi tulis semula selesai, fail asal digantikan dengan fail sementara.

File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

String lineToRemove = "bbb";
String currentLine;

while((currentLine = reader.readLine()) != null) {
    // Removing leading and trailing whitespace to ensure accurate line matching
    String trimmedLine = currentLine.trim();
    if(trimmedLine.equals(lineToRemove)) continue;
    writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close();
reader.close();

// Renaming the temporary file to replace the original file
boolean successful = tempFile.renameTo(inputFile);
Salin selepas log masuk

Kod ini menyelesaikan tugas dengan membaca fail asal baris demi baris, menulis setiap baris yang tidak sepadan dengan fail sementara . Apabila baris sepadan ditemui, ia dilangkau. Setelah semua baris telah diproses, fail sementara dinamakan semula untuk menggantikan fail asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Baris Tertentu dengan Cekap daripada Fail Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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