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

Ayuda al leer archivos

Estas en el tema de Ayuda al leer archivos en el foro de Java en Foros del Web. Hola a todos, tengo una clase en Java que utiliza un FileDialog para seleccionar un determinado archivo, y muestrar su contenido linea x linea, lo ...
  #1 (permalink)  
Antiguo 27/04/2008, 16:11
Avatar de PPLPU  
Fecha de Ingreso: marzo-2008
Mensajes: 46
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Ayuda al leer archivos

Hola a todos, tengo una clase en Java que utiliza un FileDialog para seleccionar un determinado archivo, y muestrar su contenido linea x linea, lo malo es que al seleccionarlo solamente muestra las lineas pares, y no se por qué :S
Bueno, les dejo el código para que puedan revisarlo con detalle, ojalá que pudieran checarlo en su compu y decirme en que estoy mal.

ConversorVMD.java

Cita:
import java.awt.*;
import java.io.*;

class ConversorVMD{
String res;

ConversorVMD()
{
Frame padre=new Frame();
padre.show();
FileDialog CajaDeDialogo = new FileDialog(padre, "Abrir Archivo",0);
CajaDeDialogo.show();
String Dir = CajaDeDialogo.getDirectory();
String Arch=CajaDeDialogo.getFile();
String todo=Dir+Arch;
SetArchivo(todo);
}

String DameArchivo()
{
return res;
}

void SetArchivo(String x)
{
res=x;;
}

public static void main(String args[])throws FileNotFoundException
{
ConversorVMD a=new ConversorVMD();
String archivo=a.DameArchivo();
int lineas=0;
System.out.println(archivo);
try
{
FileReader fr = new FileReader(archivo);
BufferedReader entrada = new BufferedReader(fr);
String s;

while(entrada.readLine()!=null)
{
s=entrada.readLine();
System.out.println(s);
lineas++;
}
}
catch(FileNotFoundException fnf) {
System.out.print("se presento el error: "+fnf.toString());
}
catch(IOException io) {
System.out.print("se presento el error: "+io.toString());
}
System.out.println("Numero de lineas:" +lineas);
System.exit(0);
}
}
Muchas gracias x ayudar
  #2 (permalink)  
Antiguo 27/04/2008, 23:28
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: Ayuda al leer archivos

Hola:

El problema lo tienes aquí

Código:
while(entrada.readLine()!=null)
{
s=entrada.readLine();
System.out.println(s);
lineas++;
}
En el while lees una línea con entrada.readLine()!=null. Como no es null, lees otra línea en s=entrada.readLine(), que es la que escribes en pantall, "saltándote", la que leiste en el while. Una posible solución sería

Código:
s = entrada.readLine();
while (s != null)
{
   System.out.println(s);
   s = entrada.readLine();
}
Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 29/04/2008, 12:45
Avatar de PPLPU  
Fecha de Ingreso: marzo-2008
Mensajes: 46
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Ayuda al leer archivos

Muchas gracias chuidiang, la verdad que con eso me has salvado, ya se ha solucionado el problema con esto:

s = entrada.readLine();
while (s != null)
{
System.out.println(s);
s = entrada.readLine();
}

Gracias por ayudar mate y a seguirle con la aplicacion...
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 20:37.