I am trying to delete a text line from a file. So far I have this but it is giving me some problems. It works if there is nothing after the initial text on the line. But if in the text file I have anything after Bart ie Bart Jones for example, it will not delete the line, it will just leave it alone. Please help.
public void removeLineFromFile(String file, String lineToRemove) {
    try {
        File inFile = new File(file);
        if (!inFile.isFile()) {
            System.out.println("Parameter is not an existing file");
            return;
        }
        //Construct the new file that will later be renamed to the original filename.
        File tempFile = new File(inFile.getAbsolutePath() + ".tmp");
        BufferedReader br = new BufferedReader(new FileReader(file));
        PrintWriter pw = new PrintWriter(new FileWriter(tempFile));
        String line = null;
        //Read from the original file and write to the new
        //unless content matches data to be removed.
        while ((line = br.readLine()) != null) {
            if (!line.trim().equals(lineToRemove)) {
                pw.println(line);
                pw.flush();
            }
        }
        pw.close();
        br.close();
        //Delete the original file
        if (!inFile.delete()) {
            System.out.println("Could not delete file");
            return;
        }
        //Rename the new file to the filename the original file had.
        if (!tempFile.renameTo(inFile))
            System.out.println("Could not rename file");
    }
    catch (FileNotFoundException ex) {
        ex.printStackTrace();
    }
    catch (IOException ex) {
        ex.printStackTrace();
    }
}
public static void main(String[] args) {
    FileUtil util = new FileUtil();
    util.removeLineFromFile("booklist.txt", "bart");
}
} `
 
     
     
     
     
    