Consulta a archivo

Hola,
Tengo un archivo punto txt con datos delimitados por comas (nombre, apellidos etc... Quisiera hacer una conultade datos usando un campo especifico y no tengo idea... Podría ayudarme, si tiene un ejemplo se lo agradecería mucho...
Respuesta
1
Te envío un ejemplo de lectura de un archivo, en este caso de campos con longitud fija. Para modificarlo no tienes más que cambiar en el método "leeLinea" las llamadas "substring" por llamadas stringTokenizer.
Si tienes algún problema o duda, coméntamelo ya sea por todoexpertos o directamente [email protected]
Un saludo.
package prueba.ficheros;
import java.util.Vector;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.SQLException;
public class LecturaFichero {
private BufferedReader ficheroDatos;
public LecturaFichero (String fichero) {
try {
ficheroDatos = new BufferedReader(new FileReader(fichero));
} catch (FileNotFoundException e1) {
throw new IOException("Fichero de datos no encontrado en " + fichero);
}
}
public boolean leeFichero () throws IOException {
boolean correcto = true;
Vector registro = new Vector();
double secuencia = 0;
try {
registro = leeLinea();
} catch (IOException IOe) {
throw new IOException(IOe.getMessage());
}
while (registro!=null && !registro.isEmpty()) {
secuencia++;
String Nombre = (String)registro.get(1);
String Apellido1 = (String)registro.get(2);
String Apellido2 = (String)registro.get(3);
String Direccion = (String)registro.get(4);
// Cosas a realizar con los datosç
try {
registro = leeLinea();
} catch (IOException IOe) {
throw new IOException(IOe.getMessage());
}
}
return correcto;
}
private Vector leeLinea() throws IOException {
Vector resultado = new Vector();
String linea = ficheroDatos.readLine();
if (linea==null || linea.trim().equals(""))
return null;
resultado.add(linea.substring(0, 21)); //Nombre
resultado.add(linea.substring(21, 41)); //Apellido 1
resultado.add(linea.substring(41, 61)); //Apellido 2
resultado.add(linea.substring(61)); //Direccion
return resultado;
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas