Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You have to use the approach of reading it from the original file line by line. Search and replace the salary with the new number. Write the content to a new temp file. Delete the original file. Finally replace the temp file to the original file name. Here is the code to do that:</p> <pre><code>import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; public class FileContentUpdater { public static void main(String args[]) throws IOException { String ID, Name; double salary; int replenish; Scanner console = new Scanner(System.in); System.out.print("Enter ID : "); String pID = console.nextLine(); System.out.print("Enter replenish salary: "); replenish = console.nextInt(); File originalFile = new File("file.txt"); BufferedReader br = new BufferedReader(new FileReader(originalFile)); // Construct the new file that will later be renamed to the original // filename. File tempFile = new File("tempfile.txt"); 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.contains(pID)) { String strCurrentSalary = line.substring(line.lastIndexOf(" "), line.length()); if (strCurrentSalary != null || !strCurrentSalary.trim().isEmpty()) { int replenishedSalary = Integer.parseInt(strCurrentSalary.trim()) + replenish; System.out.println("replenishedSalary : " + replenishedSalary); line = line.substring(0,line.lastIndexOf(" ")) + replenishedSalary; } } pw.println(line); pw.flush(); } pw.close(); br.close(); // Delete the original file if (!originalFile.delete()) { System.out.println("Could not delete file"); return; } // Rename the new file to the filename the original file had. if (!tempFile.renameTo(originalFile)) System.out.println("Could not rename file"); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload