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

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

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

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

ファイルからの行の削除: 正確な行の検索と削除

ファイル操作を追求すると、特定の行に必要なシナリオが発生する可能性があります。指定されたテキスト ファイルから削除されます。このニーズに対処するために、ファイルから行全体を見つけて削除するコード スニペットを見つけることを目指しています。

次の内容を含む「myFile.txt」という名前のサンプル ファイルについて考えてみましょう:

aaa
bbb
ccc
ddd

私たちが望んでいる解決策は、指定した行を削除できる機能です。たとえば、「removeLine("bbb")」を呼び出した場合、「myFile.txt」の内容は次のように更新される必要があります:

aaa
ccc
ddd

提案されたコード ソリューション

このソリューションは、削除したい行を効率的に追跡し、その特定の行を除いたファイルを一時ファイルに再書き込みします。書き換え操作が完了すると、元のファイルは一時ファイルに置き換えられます。

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

このコードは、元のファイルを 1 行ずつ読み取り、一致しない各行を一時ファイルに書き込むことでタスクを実行します。 。一致する行が見つかった場合、その行はスキップされます。すべての行が処理されると、一時ファイルの名前が変更され、元のファイルが置き換えられます。

以上がテキスト ファイルから特定の行を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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