2017-02-22 2 views
-2

Je souhaite vérifier si un fichier spécifique existe déjà dans le même dossier. Si ce n'est pas le cas, créez un nouveau fichier et tapez un certain nombre de choses. par exemple. si filePath = test.txt et test.txt n'existe pas. Créez un nouveau nom de fichier test.txt et placez 12345 dans la première ligne du fichier.Vérifier si le fichier existe déjà dans le même chemin

Actuellement, ma méthode ne lancera même pas cette instruction if si la condition est remplie. (Test.txt n'existe pas)

PrintWriter output; 
    File file = new File(filePath); 
    if(!file.isFile()){ 
     try { 
      output = new PrintWriter(new FileWriter(filePath)); 
     } catch (IOException ex) { 
      throw new PersistenceException("Error!", ex); 
     } 
     output.print("12345"); 
     output.flush(); 
     output.close(); 
    } 
+0

Vous pouvez utiliser [existe()] (https://docs.oracle.com/javase/7/docs/api/java/io/File.html#exists()) à la disposition de 'File' objets. –

+0

Et si ça existe? Et si ça existe mais pas le 12345? – EJP

Répondre

2

Vous pouvez vérifier si un fichier existe ou pas en créant un objet File et en utilisant la méthode exist. Les objets fichiers sont différents de Java par rapport à C, lorsque vous créez un objet Fichier, vous ne créez pas nécessairement un fichier physique.

File file = new File(pathString); 
if (file.exists()) 
{ 
    // File already exists 
} 
else 
{ 
    // You can create your new file 
} 
0

Je pense que vous pouvez utiliser cette condition dans votre cas:

Files.exists(Paths.get(file)) 

Vous pouvez décider d'utiliser la spécification NOFOLLOW_LINKS afin d'éviter de suivre un lien symbolique.

Cela vous aidera à vérifier si le fichier existe ou non.

J'espère que cela pourrait vous aider.