Crear, Escribir, y Leer un archivo en Java

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;
  }
}

4 Comentarios

  1. el string que retornas con el metodo LeerArchivo no guarda los saltos de linea (/n)

    ResponderBorrar
  2. hola oie no se si puedas ayudarme estoy usando un compilador de java llamdo eclipce en ubuntu pero me genera un error que dice class Archivo is public, should be decalred in a file named Archivo.java

    ResponderBorrar
  3. Hola!

    El nombre de las clase y el hombre del archivo deben llamarse igual siempre y cuando la clase sea public. Ejemplo:

    public class MiClase{}

    En este caso el nombre de archivo de la clase debe de ser "MiClase.java"

    Si quieres tener el nombre del archivo diferente al nombre de la clase (jamas recomendable hacer esto) la clase no tiene que ser public Ejemplo:

    class MiClase{}

    En este caso el nombre del archivo de la clase MiClase puede ser "Cualquiera.java"

    ResponderBorrar

Publicar un comentario

Artículo Anterior Artículo Siguiente