Leer un dato de una línea con espacios en blanco que se encuentra en un archivo
Publicado por Jesús (5 intervenciones) el 11/02/2017 13:51:46
Buenas, tengo que leer unos DNIs que se encuentra en un archivo de texto con el siguiente formato:
Apellido1 Apellido2 Nombre DNI E-mail
y escribir en otro archivo los DNIs que sean pares. Esta segunda parte la sé hacer pero me encuentro el problema en la lectura que no sé como hacer en Java que me lea a partir del tercer espacio en blanco los 8 dígitos del DNI (es sin letra), es decir, empiece a leer a partir del espacio en blanco del Nombre.
Actualemte tengo el siguiente código:
¿Cómo puedo leer en Java sólo la parte del DNI que necesito? Teniendo en cuenta con los apellidos y nombres son de longitud variable por lo que no podría hacerlo con la función "substring".
Gracias de antemano
Apellido1 Apellido2 Nombre DNI E-mail
y escribir en otro archivo los DNIs que sean pares. Esta segunda parte la sé hacer pero me encuentro el problema en la lectura que no sé como hacer en Java que me lea a partir del tercer espacio en blanco los 8 dígitos del DNI (es sin letra), es decir, empiece a leer a partir del espacio en blanco del Nombre.
Actualemte tengo el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public static void dniPar() throws FileNotFoundException, IOException
{
String linea;
String dni;
int dniInt;
try
{
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("pares.txt")));
DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream("datos.txt")));
while (in.readLine()!= null)
{
linea = in.readLine();
dni =
dniInt = Integer.parseInt(dni);
if( dniInt%2 == 0)
{
out.writeInt(dniInt);
}
}
out.close();
in.close();
}catch (FileNotFoundException e)
{
System.out.println("Error: Archivo no encontrado");
}
catch(IOException e)
{
System.out.println("Error de E/S");
}
}
¿Cómo puedo leer en Java sólo la parte del DNI que necesito? Teniendo en cuenta con los apellidos y nombres son de longitud variable por lo que no podría hacerlo con la función "substring".
Gracias de antemano
Valora esta pregunta
0