Crear ruta entera automáticamente cuando se escribe en un archivo nuevo
-
26-09-2019 - |
Pregunta
Quiero escribir un nuevo archivo con el FileWriter
. Yo lo uso como esto:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
Actualmente no existen Ahora dir1
y dir2
. Quiero Java para crear de forma automática si no están ya allí. En realidad Java debe establecer toda la ruta del archivo si no está ya existente.
¿Cómo puedo lograr esto?
Solución
Algo así como:
File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
Otros consejos
Desde Java 1.7 se puede utilizar Files.createFile:
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
Uso 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);
FileUtils para manejar todos estos dolores de cabeza.
Edit: Por ejemplo, el uso por debajo de código para escribir en un archivo, este método 'comprobación y crear el directorio principal si no existe'.
openOutputStream(File file [, boolean append])
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow