Crear, Escribir, y Leer un archivo en Java

4 comments
Hoy revisaremos una clase de ejemplo para crear, escribir, y leer un archivo de texto en Java. No es necesario que explique la clase tiene comentarios.
package package2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;

 // www.javerosanonimos.tk
 
public class Archivo {
    public static void main(String args[]) throws IOException, Exception {
        Archivo ar=new Archivo()
        ar.escribirArchivo(ar.crearArchivo(), "Mi cadena")
        //Es importante usar doble diagonal para que la ruta sea 
        //correcta
        System.out.println(ar.leerArchivo("C:\\NetBeansProjects\\Archivo.txt"));

  }
  public PrintWriter crearArchivo() throws IOException{
    //Las siguientes 3 líneas nos permite crear un archivo y escribir en el
    File archivo = new File("ArchivoDePrueba.txt");
    FileWriter writer = new FileWriter(archivo);
    PrintWriter salida = new PrintWriter(writer);
    return salida;
  }
  public PrintWriter escribirArchivo(PrintWriter salida, String cadena)throws Exception{
    //Este método permite escribir en el archivo
    salida.append("Mi Archivo Plano");
    //Este método sirve para dar un salto de línea
    salida.println();
    //Tambien el método write nos permite escribir
    salida.write(cadena);
    //Al Igual que print
    salida.print(new String(cadena));
    //Es importante no olvidar cerrar el archivo
    salida.close();
    return salida;
  }
  public String leerArchivo(String ruta)throws Exception{
    //Se crea un objeto File usando el constructor que recibe la ruta(String)
    File archivo = new File (ruta);
    //Usamos estos 2 objetos porque BufferedReader contiene un método sencilo
    //Para leer el archivo por linea
    FileReader fileReader = new FileReader (archivo);
    BufferedReader buffReader = new BufferedReader(fileReader);
    //Aquí guardaremos cada línea del archivo por vez
    String linea=null;
    //Aquí acumularemos todas las líneas
    String contenido="";
    //Cada que se invoca el método readLine() se busca una linea y el cursor
    //pasa a la siguiente linea cuando no hay mas lineas regresa null
    while((linea=buffReader.readLine())!=null){
       System.out.println(linea);
       contenido+=" "+linea;
    }
    //Se valida que no sea nulo y se cierra 
    if( null != fileReader)
          fileReader.close();
  
  return contenido;
  }
}