ホームページ >Java >&#&チュートリアル >コード内のテキスト ファイルから特定の行を効率的に削除するにはどうすればよいですか?

コード内のテキスト ファイルから特定の行を効率的に削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-03 22:06:17382ブラウズ

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

ファイルからの特定の行の検索と削除

現代のプログラミングでは、多くの場合、テキスト ファイルの操作が不可欠です。一般的なタスクの 1 つは、ファイルから特定の行を検索して削除することです。このプロセスは、テキスト ファイル内のデータをクリーンアップまたは変更する必要がある場合に特に便利です。

行削除関数の実装

テキスト ファイルがあるシナリオを考えてみましょう。次の行を含む「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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。