Foros del Web » Programación para mayores de 30 ;) » Java »

leer de un archivo

Estas en el tema de leer de un archivo en el foro de Java en Foros del Web. Como podria hacer para leer de un archivo y que no diera error si el archivo esta vacio??? Es decir,lo que quiero hacer es que ...
  #1 (permalink)  
Antiguo 30/05/2007, 16:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 0
leer de un archivo

Como podria hacer para leer de un archivo y que no diera error si el archivo esta vacio???
Es decir,lo que quiero hacer es que si es la primera vez que se ejecuta el programa y el archivo esta vacio saque por pantalla un mensaje diciendolo y si no esta vacio que saque por pantalla el contenido

ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream("projectes.txt"));
ObjectInputStream sortida = new ObjectInputStream(new FileInputStream("projectes.txt"));
NovaTasca t=(NovaTasca) sortida.readObject();*********
try{
while(t!=null)
{
tareas.add(t);
t=(NovaTasca) sortida.readObject();
}
}
catch(EOFException e)
{
System.out.println("Aquest es el primer cop que s´executa el programa,no hi ha projectes ni tasques emmagatzemats");
}
He probado asi pero siempre me da error en la linea de los asteriscos
  #2 (permalink)  
Antiguo 30/05/2007, 16:17
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: leer de un archivo

yo uso esto para leer archivos y escribir a archivos.. me imagino que asi debe funcionar:

File archivo = new File("mirutadearchivo");
String str;
BufferedReader br;
br = new BufferedReader(new FileReader(archivo));
if (archivo.canRead())
{
FileWriter fw = new FileWriter(archivo1, true);
PrintWriter escritor = new PrintWriter(fw);
while ((str = br.readLine())!= null) // aqui por un if deberia funcionar algo asi:
// if (str = br.readLine())== null) { mi mensaje de archivo vacio }

tal vez asi funcione...
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #3 (permalink)  
Antiguo 30/05/2007, 23:50
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: leer de un archivo

¿Que error te da?

S!
  #4 (permalink)  
Antiguo 31/05/2007, 03:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: leer de un archivo

Exception in thread "main" java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.pee kByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at PruebaTimeTracker.main(PruebaTimeTracker.java:22)
  #5 (permalink)  
Antiguo 31/05/2007, 03:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: leer de un archivo

Ummm... EOFException significa que has llegado al final del fichero, así que para comprobar si el fichero esta vacío puedes capturar esa excepción.... o si no con mirar el tamanyo del fichero, tambien te puede servir.

S!
  #6 (permalink)  
Antiguo 31/05/2007, 13:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: leer de un archivo

Y como puedo capturar esa excepcion?
  #7 (permalink)  
Antiguo 31/05/2007, 13:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: leer de un archivo

o como se mira eltamaño del array?
  #8 (permalink)  
Antiguo 31/05/2007, 17:01
Avatar de Sandunguero  
Fecha de Ingreso: junio-2006
Mensajes: 56
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: leer de un archivo

Cita:
Iniciado por laudrup Ver Mensaje
Y como puedo capturar esa excepcion?
Hola, así:

Código PHP:
try{
     
//tu codigo
}catch (EOFException e){
     
System.out.println("Excepcion: " e.getMessage());

  #9 (permalink)  
Antiguo 31/05/2007, 17:10
Avatar de Sandunguero  
Fecha de Ingreso: junio-2006
Mensajes: 56
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: leer de un archivo

Cita:
Iniciado por laudrup Ver Mensaje
o como se mira eltamaño del array?
¿Querrás decir del archivo?

En ese caso:

Código PHP:
long tamanyo_archivo=archivo.length(); 
saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:13.