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
Barbara Streisandasal
2024-12-02 06:03:13519semak imbas

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

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

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);

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!

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