首页 > 解决方案 > 如何从 I/O 文件 Java 中编辑特定单词

问题描述

所以我试图从我的 textFile 中修改一行,但是当我输入新值并打印结果时,它会在底部打印一个全新的行,就好像它是最后一行而不是替换我想要替换的行.

 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) {

             }

标签: javaiotry-catch

解决方案


我认为没有任何方法可以删除原始文件中的特定行。您可以尝试做的是创建一个没有该特定行的新文件。这将创建一个新文件,但可以达到目的。


推荐阅读