Mengalih Keluar Baris daripada Fail Teks
Apabila bekerja dengan fail teks yang besar, selalunya perlu mengalih keluar baris tertentu untuk membersihkan data atau menyusun fail. Ini boleh dilakukan dengan cekap menggunakan teknik pengaturcaraan.
Mencari dan Menghapuskan Talian Tertentu
Andaikan anda mempunyai fail teks yang mengandungi kandungan berikut:
myFile.txt: aaa bbb ccc ddd
Matlamat anda adalah untuk mencipta fungsi yang dipanggil removeLine(String lineContent) yang mengambil baris sebagai input dan mengalih keluar baris itu daripada fail. Melepasi removeLine("bbb") harus menghasilkan fail yang dikemas kini berikut:
myFile.txt aaa ccc ddd
Penyelesaian Menggunakan Fail I/O
Satu pendekatan untuk mengalih keluar baris daripada fail ialah membacanya baris demi baris dan menulis baris yang tidak sepadan dengan kandungan baris yang ditentukan kepada fail sementara. Setelah semua baris telah diproses, namakan semula fail sementara untuk menggantikan yang asal.
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) { String trimmedLine = currentLine.trim(); if(trimmedLine.equals(lineToRemove)) continue; writer.write(currentLine + System.getProperty("line.separator")); } writer.close(); reader.close(); boolean successful = tempFile.renameTo(inputFile);
Penyelesaian ini memastikan bahawa fail asal tidak diubah suai sehingga perubahan selesai, sekali gus menghalang sebarang kemungkinan kehilangan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Baris Tertentu dengan Cekap daripada Fail Teks Menggunakan Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!