Je veux écrire un nouveau fichier avec le FileWriter
. Je l'utilise comme ça:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
Maintenant, dir1
et dir2
n'existent pas. Je veux que Java les crée automatiquement s'ils ne sont pas déjà là. En fait, Java doit définir le chemin d'accès complet au fichier s'il n'existe pas déjà.
Comment puis-je atteindre cet objectif?
Quelque chose comme:
File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
Depuis Java 1.7, vous pouvez utiliser Files.createFile:
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
Utilisez File.mkdirs()
:
File dir = new File("C:\\user\\Desktop\\dir1\\dir2");
dir.mkdirs();
File file = new File(dir, "filename.txt");
FileWriter newJsp = new FileWriter(file);
Utilisez File.mkdirs()
.
Utilisez FileUtils pour gérer tous ces maux de tête.
Édition: Par exemple, utilisez le code ci-dessous pour écrire dans un fichier. Cette méthode "vérifiera et créera le répertoire parent s'il n'existe pas".
openOutputStream(File file [, boolean append])