File.delete и File.renameTo не работают после закрытия файла - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь удалить x-файл и переименовать ay-файл с именем x-файла, но даже когда я закрываю все файлы, он не удаляет и не переименовывает файлы.

try {
                boolean buffer = false;
                boolean finder = false;
                 PrintWriter output = new PrintWriter(new FileOutputStream(file, true));
                 PrintWriter output2 = new PrintWriter(new FileOutputStream(file4, true));
                 LineNumberReader readers = new LineNumberReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
                 LineNumberReader readers2 = new LineNumberReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));

                 while((line = readers2.readLine()) != null)
                 {
                     if(line.contains(CL.getID()))
                     {
                         finder = true;
                         line = "";
                         break;
                     }


                 }

                 if(finder == false)
                 {
                     System.out.println("ID NO ENCONTRADO!!!");
                     output.close();
                     output2.close();
                     readers.close();
                     readers2.close();
                     break;
                 }


                 while((line = readers.readLine()) != null)
                 {
                     if(line.contains(CL.getID()))
                     {
                         buffer = true;
                         output2.println(line);
                         System.out.println("Escriba el nuevo presupuesto ");
                         CL.setPresupuesto(reader.next());
                         output2.println("Presupuesto: " + CL.getPresupuesto() + "$");



                     }
                     else
                     {
                         if(buffer == true)
                         {
                             buffer = false;
                             continue;
                         }
                         output2.println(line);
                     }
                 }

                 System.out.println("Modificacion Terminada!!!!");
                 output.close();
                 output2.close();
                 readers.close();
                 readers2.close();
                 file.delete();
                 file4.renameTo(file);


            }catch(IOException ex)
            {
                System.out.println("ERROR!!!!");
            }

как вы видите, я закрыл файлы, которые использовал, но все еще не работает:

                 output.close();
                 output2.close();
                 readers.close();
                 readers2.close();
                 file.delete();
                 file4.renameTo(file);

Что-то не так с логи c кода или это просто что-то, чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...