Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 27-abr-2008, 16:11   #1 (permalink)
PPLPU ha deshabilitado el karma
 
Avatar de PPLPU
 
Fecha de Ingreso: marzo-2008
Mensajes: 24
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
PPLPU está desconectado   Responder Citando
Antiguo 27-abr-2008, 23:28   #2 (permalink)
chuidiang tiene algunos puntos positivos de karma
 
Avatar de chuidiang
 
Fecha de Ingreso: octubre-2004
Mensajes: 707
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.
chuidiang está desconectado   Responder Citando
Antiguo 29-abr-2008, 12:45   #3 (permalink)
PPLPU ha deshabilitado el karma
 
Avatar de PPLPU
 
Fecha de Ingreso: marzo-2008
Mensajes: 24
Cool 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...
PPLPU está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 16:34.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93