jueves, 5 de enero de 2012

Crear archivos en el disco desde Java

Pues hace unos días publiqué la manera de leer un fichero, ahora vamos a ver como se crea y se escribe un fichero de texto, claro puede ser de otra extensión siempre y cuando comprendas la composición y estructura del fichero que vas a escribir. Comenzamos como siempre creando los objetos necesarios y explicando por pasos.

Los imports necesarios son:
import java.io.File; //para crear el archivo
import java.io.FileWriter; //para abrir el archivo
import java.io.PrintWriter; //para escribir en el archivo

Bien, lo primero a realizar es crear el fichero, y esto es especificando la ruta en donde queremos el archivo y el nombre y extensión del fichero, cabe destacar que se puede hacer con un solo parámetro pero de mi parte recomiendo que cuando creemos archivos usemos los dos parámetros por separado, pero cuando leamos un archivo podemos usar un solo parámetro.
//Escribimos la ruta y el nombre del fichero
String ruta = "c:\\documentos\\";
String nombre = "archivo.txt";

//Creamos un objeto con los valores anteriores
File archivo = new File(ruta, nombre);

Una vez creado el objeto File, hay que usar el método que nos provee para escribir el archivo, aquí si la ruta no existe dará NullPointerException.
//Creamos el archivo en el disco
archivo.createNewFile();

El archivo ya existe, ahora vamos a escribir dentro de el, necesitamos el flujo que abrirá el archivo y el flujo que escribirá en el archivo:
//Creamos los objetos para escribir en el archivo creado
FileWriter fw = new FileWriter(archivo);
PrintWriter pw = new PrintWriter(fw);

Para probar el objeto, escribamos una linea y por ultimo cerrar los objetos usados:
//Ahora escribimos una linea de prueba dentro dle fichero
pw.println("Texto dentro de fichero!!");

//cerramos los objetos
pw.close();
fw.close();

Como ven es muy sencillo, esta de más decir que es necesario usar un try y un catch para el manejo de excepciones, veamos el código completo:
import java.io.File; //para crear el archivo
import java.io.FileWriter; //para abrir el archivo
import java.io.PrintWriter; //para escribir en el archivo

public class escribe {
 public static void main(String[] args) { 
  try{
   //Escribimos la ruta y el nombre del fichero
   String ruta = "c:\\documentos\\";
   String nombre = "archivo.txt";
   
   //Creamos un objeto con los valores anteriores
   File archivo = new File(ruta, nombre);
   
   //Creamos el archivo en el disco
   archivo.createNewFile();
   
   //Creamos los objetos para escribir en el archivo creado
   FileWriter fw = new FileWriter(archivo);
   PrintWriter pw = new PrintWriter(fw);
   
   //Ahora escribimos una linea de prueba dentro dle fichero
   pw.println("Texto dentro de fichero!!");
   
   //cerramos los objetos
   pw.close();
   fw.close();
  } catch(Exception ex) {
   //tratar la excepción
   //puede ser NullPointerException pj si el nombre asignado es nulo
   //IOException si hay error al escribir en el fichero
  }
 }
}

No hay comentarios:

Publicar un comentario

Deja un comentario! =)