2014-11-15 5 views
1

Я использую метод удаления определенного заранее существующий файл, используя метод file.delete() следующим образомПочему файл не удаляется с помощью функции file.delete()?

public void deleteFile(String fileName)throws IOException //To refine. Does not work 
{ 
    File file=new File("C:\\File Handling\\"+fileName+".txt"); 
    boolean success=file.delete(); 
    System.out.println(success); 
} 

Однако успех всегда возвращается как ложное. Что происходит не так?

Просьба сообщить, как удалить файл с помощью java.

+0

Возможно, вы захотите добавить там .exists() и проверить права на запись и так далее. –

ответ

1

В Windows вы обычно не можете удалять файлы, открытые каким-либо процессом. Также вы можете проверить, есть ли у вас разрешения, выполнив удаление из командной строки.

1

Ваш код отлично работает на моей машине. Я просто завернул его в классе и сделал его статическим, чтобы его называли основной()

public static void main(String[] args) throws IOException { 
     deleteFile("newfile"); 
    } 

    public static void deleteFile(String fileName)throws IOException //To refine. Does not work 
    { 
     File file=new File("C:\\File Handling\\"+fileName+".txt"); 
     boolean success=file.delete(); 
     System.out.println(success); 
    } 
0

Иногда окна могут быть напуганным о том, как он обрабатывает файлы попробуйте использовать метод deleteOnExit() метод, который, как вы можете убедиться, что программа еще не открыта внутри вашего кода. Также вы дважды проверяли, что файл не открыт в другой программе перед запуском кода?

Смежные вопросы