Creating, writing and editing same text file in java

前端 未结 5 1078
清歌不尽
清歌不尽 2020-12-16 05:03

Let\'s say I have the following code:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import ja         


        
5条回答
  •  清歌不尽
    2020-12-16 05:12

    Change your code to that:

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class EditFile {
    
        public static void main(String[] args) {
    
            try{
                String verify, putData;
                File file = new File("file.txt");
                file.createNewFile();
                FileWriter fw = new FileWriter(file);
                BufferedWriter bw = new BufferedWriter(fw);
                bw.write("Some text here for a reason");
                bw.flush();
                bw.close();
                FileReader fr = new FileReader(file);
                BufferedReader br = new BufferedReader(fr);
    
                while( (verify=br.readLine()) != null ){ //***editted
                           //**deleted**verify = br.readLine();**
                    if(verify != null){ //***edited
                        putData = verify.replaceAll("here", "there");
                        bw.write(putData);
                    }
                }
                br.close();
    
    
            }catch(IOException e){
            e.printStackTrace();
            }
        }
    
    }
    

    The Problem is that you are calling br.readLine() twice which is provoking the application to read line1 and then line2 and in your case you have just one line which means that your program read it in the conditional form and when it comes to declaring it to the variable verify, it is stopping because you don't have anymore data to read your file.

提交回复
热议问题