238 votes

Java FileOutputStream de Créer le Fichier si il n'existe pas encore

Est-il possible d'utiliser FileOutputStream en sorte que si un fichier (String filename) n'existe pas, alors il va la créer?

FileOutputStream oFile = new FileOutputStream("score.txt", false);

370voto

talnicolas Points 6925

Il va jeter un FileNotFoundException si le fichier n'existe pas et ne peut pas être créé (doc), mais il va le créer s'il le peut. Pour être sûr que probablement vous devriez d'abord vérifier que le fichier existe avant la création de l' FileOutputStream (et de créer avec createNewFile() si il n'est pas):

File yourFile = new File("score.txt");
if(!yourFile.exists()) {
    yourFile.createNewFile();
} 
FileOutputStream oFile = new FileOutputStream(yourFile, false); 

28voto

Shashank Kadne Points 4531
File f = new File("Test.txt");
if(!f.exists())
    f.createNewFile();

Passer cette f votre FileOutputStream constructeur.

26voto

Peter Lawrey Points 229686

Vous pouvez créer un fichier vide si elle existe ou pas ...

new FileOutputStream("score.txt", false).close();

si vous souhaitez conserver le fichier si il existe ...

new FileOutputStream("score.txt", true).close();

Vous obtenez seulement une FileNotFoundException si vous essayez de créer le fichier dans un répertoire qui n'existe pas.

0voto

sikander Points 1530

Vous pouvez potentiellement obtenir un FileNotFoundException si le fichier n'existe pas.

La documentation Java dit:

Si un fichier est disponible ou peut être créé dépend de la plateforme sous-jacente http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html

Si vous êtes à l'aide de Java 7, vous pouvez utiliser le java.nio paquet:

Les options du paramètre spécifie la façon dont le fichier est créé ou ouvert... il ouvre le fichier pour l'écriture, de la création du fichier si il n'existe pas...

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X