Question

OK, je me sens comme ça devrait être facile, mais je manque évidemment quelque chose de fondamental pour l'écriture du fichier en Java. J'ai ceci:

File someFile = new File("someDirA/someDirB/someDirC/filename.txt");

et je veux juste écrire dans le fichier. Cependant, alors que someDirA existe, someDirB (et donc someDirC et filename.txt) n'existent pas. Faire ceci:

BufferedWriter writer = new BufferedWriter(new FileWriter(someFile));

jette un FileNotFoundException. Eh bien, euh, je ne plaisante pas. Je suis en train de le créer après tout. Ai-je besoin de briser le chemin du fichier en composants, créez les répertoires, puis créer le fichier avant instanciation de l'objet FileWriter?

Était-ce utile?

La solution

Vous devez créer tous les répertoires précédents en premier. Et est comment faire. Vous devez créer un objet représentant la chemin que vous voulez exister et puis appelez .mkdirs () sur elle. Ensuite, assurez-vous créer le nouveau fichier.

final File parent = new File("someDirA/someDirB/someDirC/");
if (!parent.mkdirs())
{
   System.err.println("Could not create parent directories ");
}
final File someFile = new File(parent, "filename.txt");
someFile.createNewFile();

Autres conseils

Vous pouvez utiliser la méthode « mkdirs » de la classe de fichier en Java. mkdirs créent votre répertoire, et créent des répertoires parents inexistants si nécessaire.

http : //java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#mkdirs%28%29

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top