從文件中尋找並刪除特定行
在現代程式設計中,操作文字檔案通常是必不可少的。一項常見任務是尋找並刪除檔案中的特定行。當您需要清理或修改文字檔案中的資料時,此過程特別有用。
實作行刪除功能
考慮一下您有文字的場景名為「myFile.txt」的檔案包含以下行:
aaa bbb ccc ddd
您希望刪除包含「bbb」的行使用方法removeLine("bbb")。為此,您可以使用以下程式碼:
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) { // Compare and skip the line to remove String trimmedLine = currentLine.trim(); if (trimmedLine.equals(lineToRemove)) { continue; } // Write the current line to the temp file writer.write(currentLine + System.getProperty("line.separator")); } writer.close(); reader.close(); boolean successful = tempFile.renameTo(inputFile);
實作說明
此程式碼片段讀取「myFile.txt」中的每一行。對於每一行,它使用 trim() 方法修剪任何前導或尾隨空白,以確保準確的比較。如果修剪的行與您要刪除的行相符(在本例中為「bbb」),它會跳過將該行寫入臨時檔案。所有其他行都附加到臨時文件中。
完全處理原始檔案後,臨時檔案將重新命名為“myFile.txt”,覆蓋原始檔案。這可確保原始檔案現在包含除您刪除的行之外的所有行。
以上是如何在程式碼中有效率地刪除文字檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!