Tag Archive for leer archivos de textolectura de archivos javaleer texto en javaseleccion grafica de un archivo de texto en java

Manipulacion de archivos:lectura de un archivo de texto en java

Leer un archivo de texto en java no es muy complicado, en resumen es un proceso muy similar a leer texto escrito del teclado, y para hacerlo necesitaremos hacer uso de las siguientes clases, la clase File, FileReader y BufferedReader.

Por favor ve el siguiente vídeo para ver como se lee archivos de texto en java y ver el programa de lectura en ejecución, espero en que te ayude a entender mejor como se leen archivos de texto en java, o si no sigue leyendo este articulo para copiar el codigo fuente directamente y ver el modo de uso.

Video:

A continuación he colocado el método “leer” el cual tiene un parametro llamado “nombre” el cual es el nombre del archivo, en el coloca preferentemente la ruta completa del archivo de texto del cual deseas leer su contenido.
El codigo de lectura es el siguiente:

Descarga:

Clase Archivo.java

Codigo fuente

 

import java.io.*;

public String leer(String nombre)

//El parametro nombre indica el nombre del archivo por ejemplo "prueba.txt" 

{

try{

File f;
FileReader lectorArchivo;

//Creamos el objeto del archivo que vamos a leer
f = new File(nombre);

//Creamos el objeto FileReader que abrira el flujo(Stream) de datos para realizar la lectura
lectorArchivo = new FileReader(f);

//Creamos un lector en buffer para recopilar datos a travez del flujo "lectorArchivo" que hemos creado
BufferedReader br = new BufferedReader(lectorArchivo);

String l="";
//Esta variable "l" la utilizamos para guardar mas adelante toda la lectura del archivo

String aux="";/*variable auxiliar*/

while(true)
//este ciclo while se usa para repetir el proceso de lectura, ya que se lee solo 1 linea de texto a la vez
{
aux=br.readLine();
//leemos una linea de texto y la guardamos en la variable auxiliar
if(aux!=null)
l=l+aux+"n";
/*si la variable aux tiene datos se va acumulando en la variable l,
* en caso de ser nula quiere decir que ya nos hemos leido todo
* el archivo de texto*/

else
break;
}

br.close();

lectorArchivo.close();

return l;

}catch(IOException e){
System.out.println("Error:"+e.getMessage());
}
return null;
}

 

Modo de uso:

 

/*simplemente manda a llamar el metodo colocando en su argmento el nombre del archivo*/
leer("C:Usersnombredemipcprueba.txt");

 

Como resultado leeras el archivo de texto..

¿Problemas con la ruta o Path? Como seleccionar gráficamente un archivo para leerlo

Simplemente con una pequeña modificación a nuestro codigo utilizando la libreria javax.swing con el objeto JFileChooser

 

Creamos un objeto JFileChooser el cual sirve para elegir graficamente un archivo, lo elegimos y con el codigo acontinuación generaremos una variable tipo String(texto) que contendra ela ruta o el Path completo hacia nuestro archivo, luego solo ejecutamos el metodo “leer”.

 

javax.swing.JFileChooser j= new javax.swing.JFileChooser();

j.showOpenDialog(j);

String path= j.getSelectedFile().getAbsolutePath();

leer(path);

 

Codigo para leer un archivo de texto gráficamente:

Como nota este método es simple y esta diseñado para leer archivos de texto, leer otro tipo de archivos ocasionara que el programa se cierre.

El codigo es el siguiente:

 

public  String leerGrafico()

{

File f;

javax.swing.JFileChooser j= new javax.swing.JFileChooser();

j.showOpenDialog(j);

try{

String path= j.getSelectedFile().getAbsolutePath();

String lectura="";

f = new File(path);

try{

FileReader fr = new FileReader(f);

BufferedReader br = new BufferedReader(fr);

String aux;

while((aux = br.readLine())!=null)

lectura = lectura+aux+"n";

}catch(IOException e){}

return lectura;

}catch(NullPointerException e){

javax.swing.JOptionPane.showMessageDialog(j, "Has seleccionado cerrar programa, saliendo...");

System.exit(0);

}return null;

}

 

 

Espero que esto haya servido de algo, para comprender mejor como funciona el programa y verlo en funcionamiento colocare un video en esta página lo mas pronto posible. No olviden comentar.