Java 覆盖到文件会删除所有内容

Java 覆盖到文件会删除所有内容,java,arrays,string,file,random,Java,Arrays,String,File,Random,你好,希望大家都好。 我有问题,若我改变了测验成绩,并再次显示它,它会删除input.txt中的所有内容 样本输入 String testLine=id+" "+name+" "+NewQuizz; Scanner ReadScanner3 = new Scanner(new FileInputStream("input.txt")); FileOutputStream Out=new FileOutputStream("temp

你好,希望大家都好。 我有问题,若我改变了测验成绩,并再次显示它,它会删除input.txt中的所有内容

样本输入

String testLine=id+" "+name+" "+NewQuizz;

                Scanner ReadScanner3 = new Scanner(new FileInputStream("input.txt"));
                FileOutputStream Out=new FileOutputStream("temp.txt");
                PrintWriter pwrite=new PrintWriter(Out);
                while(ReadScanner3.hasNextLine()) {
                      line=ReadScanner3.nextLine();
                    id=Integer.parseInt(line.substring(0, line.indexOf(' '))) ;



                    pwrite.println(infoAfterModfiy);


                }

                System.out.print("after grade modifcation:");
                String printModfiy=SearchID+"\t\t"+name+"\t\t"+printNewQuizz;
                System.out.println(printModfiy);
                pwrite.close();
                Scanner ReadScanner4 = new Scanner(new FileInputStream("temp.txt"));
                FileOutputStream Out2=new FileOutputStream("input.txt");
                PrintWriter pwrite2=new PrintWriter(Out,true);
                while(ReadScanner4.hasNextLine()) {
                    String Line=ReadScanner4.nextLine();
                    pwrite2.println(Line);
                }
                pwrite2.close();

            }

我来这里晚了一点;然而,这里是您可以做的,以使您的代码更干净一点。FileOutputStream可以与其他扫描器和PrintWriter对象一起删除,以执行您试图实现的操作

考虑:

91007 Ahmad Said 50.0 
91004 Hassan Khan 45.5 
91003 Suleiman Wasim 72.6 
91002 Majed Sameer 60.0 
91006 Muhammad Adel 85.5 
91005 Muhsim Zuheir 70.0 
91001 Muneeb Abdullatif 30.0
output.txt-等级已更新

91007 Ahmad Said 50.0 
91004 Hassan Khan 45.5 
91003 Suleiman Wasim 72.6 
91002 Majed Sameer 60.0 
91006 Muhammad Adel 85.5 
91005 Muhsim Zuheir 70.0 
91001 Muneeb Abdullatif 30.0

最好的做法是包含整洁、可读的代码,如果有人将其复制/粘贴到IDE中,这些代码将运行—这是否回答了您的问题@我的宠物不,不是真的没关系,我想我知道问题出在哪里了。您正在输出到输入文件。看这行:
FileOutputStream Out2=newfileoutputstream(“input.txt”)
91007 Ahmad Said 50.0 
91004 Hassan Khan 45.5 
91003 Suleiman Wasim 72.6 
91002 Majed Sameer 60.0 
91006 Muhammad Adel 85.5 
91005 Muhsim Zuheir 70.0 
91001 Muneeb Abdullatif 30.0
91007 Ahmad Said 30.0
91004 Hassan Khan 37.0
91003 Suleiman Wasim 55.0
91002 Majed Sameer 75.0
91006 Muhammad Adel 80.0
91005 Muhsim Zuheir 90.0
91001 Muneeb Abdullatif 95.0