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?

¿Fue útil?

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
scroll top