2013-08-07 3 views
0

Мне нужно удалить файлы из java-программы и написали этот код. Он не может удалить файл, и я не могу понять, почему. Файл не используется и не защищен от записи.Ошибка удаления файла Java

public static void delfile(String filetodel) { 
    try { 
     File file = new File("filetodel"); 

     if (file.delete()) { 
      System.out.println(file.getName() + " is deleted!"); 
     } else { 
      System.out.println("Delete operation is failed." + filetodel); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+4

Возможно, вам придется удалить кавычки там 'new File (" filetodel ")', поскольку вы не используете параметр – Sw4Tish

+2

, что является исключением? – sanbhat

+0

Рассмотрите возможность использования нового API файлов NIO.2. – Puce

ответ

1

файла Если вы просто хотите удалить этот файл, есть нет необходимости загружать его.

java.nio.file.Files.deleteIfExists(filetodel); (где filetodel содержит путь к файлу)

Возвращает истину, если файл был удален, так что вы можете положить его в if-предложении.

7

Я предполагаю, что вопрос заключается в следующем:

File file = new File("filetodel"); 

Это, возможно, следует (вывод из параметра filetodel прошел в методе):

File file = new File(filetodel); 

Все остальное кажется нормально , и работает на моей машине.

+0

привет, вы предполагаете, что файл будет находиться в текущем рабочем каталоге или в той же папке исполняемого java-файла. что, если это где-то еще в системе? просто мысль! –

+1

@ VardhanDG. Я только предполагаю, что OP передает правильный путь к файлу в методе, обозначенному 'filetodel'. –

+0

это всегда хорошо при удалении, чтобы указать жестко закодированные пути, как раз мое мнение –

0

Привет, приятель, вы должны использовать путь в качестве параметра в удалении static void delete (Путь пути) Удаляет файл. static boolean deleteIfExists (Path path) Удаляет файл, если он существует.

поиск здесь: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

так в вашем случае

File file = new File("c://user//filetodel"); 

file.delete(); 

или использовать getAbsolutePath (имя файла) и использовать его в пути

0

Это мой код для удаления файла.

public class deletef 
    { 
     public static void main(String[] args) 
    { 
    try{ 

     File file = new File("/home/rahul/Downloads/ou.txt"); 

     if(file.delete()){ 
      System.out.println(file.getName() + " is deleted!"); 
     }else{ 
      System.out.println("Delete operation is failed."); 
     } 

    }catch(Exception e){ 

     e.printStackTrace(); 

    } 

    } 
} 

ваш код также верно, но вы должны поставить расширение также в файле

File file = new File("filetodel"); 

здесь расширение добавить также другой файл, мудрая ваш код не будет удалить файл

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