有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

io如何编辑Java I/O文件中的特定单词

因此,我试图修改文本文件中的一行,但当我输入新值并打印结果时,它会在底部打印一个全新的行,就像它是最后一行一样,而不是替换我要替换的行

 try {


                 LineNumberReader readers = new LineNumberReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
                 PrintWriter output = new PrintWriter(new FileOutputStream(file, true));
                 boolean finder = false;

                 String oldContent = "";

                 while((target = readers.readLine()) != null)
                 {
                     if(target.contains(CL.getID()))
                     {
                         finder = true;
                         target = readers.readLine() + 1;
                         System.out.println("Escriba el Nuevo presupuesto");
                         CL.setPresupuesto(reader.next());
                         output.write("Presupuesto: " + CL.getID() + "$");

                         System.out.println("Nuevo Presupuesto");



                         output.close();
                         readers.close();
                         break; 
                     }


                 }

                 if(finder == false)
                 {
                     System.out.println("ID no encontrado!!");
                 }


             }catch(IOException ex) {

             }

共 (1) 个答案

  1. # 1 楼答案

    我不认为有任何方法可以删除原始文件中的特定行。你可以试着创建一个新文件,而不需要特定的行。这将创建一个新文件,但可以达到这个目的