Dudas de Programacion » Java » Java Básico

Problema con Ficheros Java

(2 posts)

Tags:

No tags yet.

  1. 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:

    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:

    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 ;)

    Posted 1 year ago #


  2. Buenas otra vez,

    Podías haber seguido en el otro post, ya que va sobre lo mismo. Solo insistirte una vez más que según tienes el código, puede ocurrir esto:

    008181818 S 100 10 10 2010
    19191919 D 101 11 11 2011
    20000001 X 102 23 12 2012
    08181818 T 103 19 03 2001

    Y 8181818 tendrá dos ocurrencias, cuando en realidad son distintos...

    Saludos
    Posted 1 year ago #

Reply

You must log in to post.

1,070 posts in 437 topics over 40 months by 388 of 892 members. Latest: lalala, nijh1, jasu

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs