Lectura de archivos con delimitadores:
Archivo almacenado consta de la siguiente información:
avila#12#24#soleado
toledo#16#15#soleado
madrid#15#27#soleado
barcelona#12#20#nublado
Crear un nuevo proyecto en Netbeans y Crear una Clase Clima:
package proyectoarchivos;
/**
*
* @author PauloGT
*/
public class Clima {
private String ciudad;
private int min;
private int max;
private String condicion;
public Clima() {
}
@Override
public String toString() {
return "Clima{" + "ciudad=" + ciudad + ", min=" + min + ", max=" + max + ", condicion=" + condicion + '}';
}
public Clima(String ciudad, int min, int max, String condicion) {
this.ciudad = ciudad;
this.min = min;
this.max = max;
this.condicion = condicion;
}
/**
* @return the ciudad
*/
public String getCiudad() {
return ciudad;
}
/**
* @return the min
*/
public int getMin() {
return min;
}
/**
* @return the max
*/
public int getMax() {
return max;
}
/**
* @return the condicion
*/
public String getCondicion() {
return condicion;
}
/**
* @param ciudad the ciudad to set
*/
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
/**
* @param min the min to set
*/
public void setMin(int min) {
this.min = min;
}
/**
* @param max the max to set
*/
public void setMax(int max) {
this.max = max;
}
/**
* @param condicion the condicion to set
*/
public void setCondicion(String condicion) {
this.condicion = condicion;
}
}
Creamos una clase GestionarInformacion para leer el archivo y pasar la información a Objetos
package proyectoarchivos;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author PauloGT
*/
public class GestionInformacion {
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
ArrayList lineas = new ArrayList();
ArrayList climasCiudad = new ArrayList();
public void separadores(String linea) {
StringTokenizer st = new StringTokenizer(linea, "#");
System.out.println("Datos Personales: ");
int i = 0;
String palabras[] = new String[st.countTokens()];
while (st.hasMoreTokens()) {
palabras[i] = st.nextToken();
i++;
}
climasCiudad.add(new Clima(palabras[0], Integer.parseInt(palabras[1]), Integer.parseInt(palabras[2]), palabras[3]));
}
public ArrayList devolverObjetos() {
return climasCiudad;
}
public void leerArchivo(String nombre) {
try {
archivo = new File(nombre);
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
try {
while ((linea = br.readLine()) != null) {
System.out.println(linea);
separadores(linea);
}
} catch (IOException ex) {
Logger.getLogger(GestionInformacion.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (FileNotFoundException ex) {
Logger.getLogger(GestionInformacion.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Finalmente realizamos la llamada a las clases creadas
public static void main(String[] args) {
// TODO code application logic here
GestionInformacion obj=new GestionInformacion();
obj.leerArchivo("clientes.txt");
for (Clima x :obj.devolverObjetos()) {
System.out.println(x.toString());
}
}