Hola, tengo que trabajar con un fichero binario, que almacena estos datos:
int String int int int int
int String int int int int
int String int int int int
int String int int int int
..................................
Creé un método para leer el contenido del fichero:
<pre>public static void leerFichero (String nombreFichero) {
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(new FileInputStream(nombreFichero));
while(true) {
int DNI = ois.readInt();
Char Letra = ois.readChar();
int Codigo = ois.readInt();
int dia = ois.readInt();
int mes = ois.readInt();
int agno = ois.readInt();
System.out.printf("%d %s %d %d %d %d%n", DNI, Letra, Codigo, dia, mes, agno);
}
}
catch (EOFException e) {
try {
if(ois!=null) ois.close();
}
catch(IOException e1) { }
}
catch (IOException e) { }
}
Y en el main puse: leerFichero(nombre); asignándole a nombre el nombre del fichero binario y me presentó por pantalla correctamente el fichero.
Ahora lo que quiero hacer es que el primer dato que almacena (DNI), me diga la cantidad de veces que aparece; es decir, que si el fichero es:
18181818 S 100 10 10 2010
19191919 D 101 11 11 2011
20000001 X 102 23 12 2012
18181818 T 103 19 03 2001
Me diga si le introduzco el DNI 18181818 : 2, y si meto los demás que diga 1.
He pensado en crear una tabla del fichero binario, que no sé como hacerlo, y después hacer algo tipo:
<pre>public int contar(int DNI) {
if(T[i].dni()==DNI) { cuenta++;}
return cuenta;
}
Sólo que más extendido ese código, añadiendo bloques try-catch...
Ayuda ;)