2013-08-07 3 views
0

J'ai besoin de supprimer des fichiers d'un programme Java et j'ai écrit ce code. Il ne parvient pas à supprimer le fichier et je n'arrive pas à comprendre pourquoi. Le fichier n'est pas utilisé et n'est pas protégé en écriture.Echec de la suppression du fichier 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

Vous devrez peut-être supprimer les guillemets 'new File (" filetodel ")' car vous n'utilisez pas le paramètre – Sw4Tish

+2

quelle est l'exception? – sanbhat

+0

Envisagez d'utiliser la nouvelle API de fichiers NIO.2. – Puce

Répondre

1

Si vous voulez simplement supprimer le fichier, il y a pas besoin de le charger.

java.nio.file.Files.deleteIfExists(filetodel); (où filetodel contient le chemin vers le fichier)

Renvoie true si le fichier a été supprimé, vous pouvez même le mettre dans votre article si.

7

Je pense que la question est la suivante:

File file = new File("filetodel"); 

Cela devrait peut-être (déduite du paramètre filetodel passé dans la méthode):

File file = new File(filetodel); 

tout semble bien et travaille sur ma machine.

+0

Salut vous supposez que le fichier sera dans le répertoire de travail actuel ou le même dossier du fichier Java qui est en cours d'exécution. Et si c'est ailleurs dans le système? juste une pensée! –

+1

@VardhanDG. Je suppose seulement que OP passe le bon chemin au fichier dans la méthode, noté 'filetodel'. –

+0

il est toujours bon lors de la suppression de donner des chemins codés en dur juste mon avis –

0

hé pote, vous devez utiliser un chemin comme paramètre dans la suppression static void delete (Chemin d'accès) Supprime un fichier. static boolean deleteIfExists (Chemin d'accès) Supprime un fichier s'il existe.

recherche ici: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

donc dans votre cas

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

file.delete(); 

ou utilisez getAbsolutePath (nom de fichier) et l'utiliser dans le chemin du fichier

0

Voici mon code pour supprimer le fichier.

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(); 

    } 

    } 
} 

votre code est également bon, mais vous devez mettre l'extension également dans votre fichier

File file = new File("filetodel"); 

ici extension add aussi fichier autre sage votre code ne sera pas supprimer le fichier

Questions connexes