• Jueves 14 de Noviembre de 2024, 08:11

Autor Tema:  Uso Del Eofexception  (Leído 5068 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Uso Del Eofexception
« en: Martes 22 de Noviembre de 2005, 23:20 »
0
Hola, tengo este codigo:

//dentro de un boton

    boolean finArchivo=false;
    int totdatos=0;
    int d=0;
    try
    {
        archivo archivo = new archivo("c:\\datos.dat", "rw");
        while (!finArchivo)
        {
            d=archivo.datos;
            totdatos=totdatos+1;
        }
        archivo.cerrar();
    }
    catch(EOFException e)
    {
        finArchivo=true;
   }

y estoy usando las librerias

import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;

Pero ahora cuando lo compilo me marca error, esto esta dentro de un boton que al ejecutarlo me tendria que devolvera cuantos elementos tiene el archivo, y lo guarda en una variable que toma el recorrido del while mientras sea fin de archivo, para luego yo usarlo como referencia, para saber cuantos se van ingresando, pero no me sale esto,

el error es este:  exception java.io.EOFException is never thrown in body of corresponding try statement

sera que me pueden dar una manita con esto

De ante mano muchas gracias   :D
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Uso Del Eofexception
« Respuesta #1 en: Martes 22 de Noviembre de 2005, 23:26 »
0
Código: Text
  1.  
  2. boolean finArchivo=false;
  3. int totdatos=0;
  4. int d=0;
  5. try
  6. {
  7.   archivo archivo = new archivo("c:\\datos.dat", "rw");
  8.   while (!finArchivo)
  9.   {
  10.     d=archivo.datos;
  11.     totdatos=totdatos+1;
  12.   }
  13.   archivo.cerrar();
  14. }
  15. catch(Exception e)
  16. {
  17.   finArchivo=true;
  18. }
  19.  

Estas capturando una excepcion que nunca se genera, ese es el error.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso Del Eofexception
« Respuesta #2 en: Martes 22 de Noviembre de 2005, 23:42 »
0
Cierto , pero lo que se esta tratando de hacer ahi es ir al final del archivo, y el unico ejemplo que encontre decia casi asi como el que les he mostrado, no se si asi se hara la busqueda de fin de archivo ???

Gracias... :smartass:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Uso Del Eofexception
« Respuesta #3 en: Miércoles 23 de Noviembre de 2005, 15:38 »
0
no,
esto lo he heco varias bveces pero ya no me acuerdo  :angry:


La verdad no es dificil, pero debes buscar info en java.sun.com
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso Del Eofexception
« Respuesta #4 en: Miércoles 23 de Noviembre de 2005, 15:45 »
0
ok , buscare y les cuento

gracias,

pero si hay algo que no me salga les cuento para una ayudadita..

 ;)
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Uso Del Eofexception
« Respuesta #5 en: Viernes 25 de Noviembre de 2005, 08:24 »
0
Buenas...

Espero que lo estés haciendo para un trabajo de clase o algo, porque si lo quieres para conseguir el tamaño de un fichero, la clase File tiene un length majísimo que te da la longitud del fichero en bytes.

Si no, yo usaría FileReader y la instrucción skip, que devuelve los bytes saltados. Si no se trata de bytes, sino de estructuras complejas, tendrás que subir un nivel más y marcharte a algún BufferedReader y usar esas funciones.

Espero que te sirva para algo.
Suerte.


Silverfox