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!