Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Ayuda al leer archivos (http://www.forosdelweb.com/f45/ayuda-leer-archivos-580536/)

PPLPU 27/04/2008 16:11

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 :si:

chuidiang 27/04/2008 23:28

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.

PPLPU 29/04/2008 12:45

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 :si: y a seguirle con la aplicacion...


La zona horaria es GMT -6. Ahora son las 04:01.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.