Home > Java > javaTutorial > How Can I Efficiently Remove Specific Lines from a Text File?

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

Barbara Streisand
Release: 2024-12-02 06:03:13
Original
521 people have browsed it

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

Line Removal from a File: Finding and Eliminating Precise Lines

In the pursuit of file manipulation, there may arise scenarios where specific lines need to be removed from a given text file. To address this need, we aim to find a code snippet that locates and eliminates entire lines from a file.

Consider a sample file named "myFile.txt" with the following content:

aaa
bbb
ccc
ddd
Copy after login

Our desired solution is a function that allows us to remove a specified line. For instance, if we call "removeLine("bbb")", the content of "myFile.txt" should be updated to:

aaa
ccc
ddd
Copy after login

Proposed Code Solution

This solution efficiently tracks down the line you wish to remove and rewrites the file, excluding that specific line, into a temporary file. Once the rewrite operation is complete, the original file is replaced with the temporary file.

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);
Copy after login

This code accomplishes the task by reading the original file line by line, writing each non-matching line to the temporary file. When a matching line is encountered, it is skipped. Once all lines have been processed, the temporary file is renamed to replace the original file.

The above is the detailed content of How Can I Efficiently Remove Specific Lines from a Text File?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template