FileNotFound exception lorsque vous tentez d'écrire dans un fichier
OK, je me sens comme ce devrait être facile, mais je suis évidemment manque quelque chose de fondamental à un fichier écrit 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. Pour ce faire:
BufferedWriter writer = new BufferedWriter(new FileWriter(someFile));
jette un FileNotFoundException
. Eh bien, euh, je ne rigole pas. Je suis en train de créer, après tout. Ai-je besoin pour briser le chemin d'accès au fichier dans les composants, créer les répertoires et ensuite créer le fichier avant de l'instanciation de l'objet FileWriter?
OriginalL'auteur Chris Knight | 2010-03-29
Vous devez vous connecter pour publier un commentaire.
Vous devez créer tous les précédents répertoires en premier. Et ici est de savoir comment le faire. Vous devez créer un Fichier objet représentant le chemin d'accès que vous souhaitez exister et ensuite appeler .mkdirs() sur elle. Ensuite, assurez-vous que vous créer le nouveau fichier.
createNewFile() est redondant donc downvoting.
createNewFile() est retundant mais le reste du code qui fonctionne très bien. Donc upvoting.
OriginalL'auteur
Vous pouvez utiliser le bouton "mkdirs" la méthode sur le Fichier de classe Java. mkdirs permettra de créer votre répertoire, et de créer tout inexistante répertoires parents si nécessaire.
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#mkdirs%28%29
OriginalL'auteur Andy White