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

Duda Muy Concreta

Estas en el tema de Duda Muy Concreta en el foro de Java en Foros del Web. HOLA ES SOLO UNA COSITA: SI TENGO UN FICHERO CON X LINEAS ¿CÓMO COMPRUEBO QUE HE LLEGADO AL FINAL DEL FICHERO? ES ASI??? FileReader fichero= ...
  #1 (permalink)  
Antiguo 02/01/2006, 12:30
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Duda Muy Concreta

HOLA ES SOLO UNA COSITA:
SI TENGO UN FICHERO CON X LINEAS ¿CÓMO COMPRUEBO QUE HE LLEGADO AL FINAL DEL FICHERO?
ES ASI???

FileReader fichero= new FileReader(f);
BufferedReader br=new BufferedReader(fichero),
linea=br.readLine();
while (linea!=null){.....}

Un saludo!
  #2 (permalink)  
Antiguo 02/01/2006, 15:53
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re:while not EOF...

try {
File inputFile = new File("original.txt");
File outputFile = new File("outagain.txt");
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile);
int c;

while ((c = fis.read()) != -1) {
//lee byte a byte de fis y lo vuelca en fos
fos.write(c);
}
fis.close();
fos.close
} catch (FileNotFoundException e) {
System.err.println("FileStreamsTest: " + e);
} catch (IOException e) {
// excepción más genérica de entrada / salida
System.err.println("FileStreamsTest: " + e);
}
------------------------------------------------------
Otra forma que he encontrado :
import java.io.*;

public class LecturaFichero {
// Throw exceptions to console:
public static void main(String[] args)
throws IOException {
String s, s2 = new String();
// 1. Reading input by lines:

BufferedReader in = new BufferedReader(
new FileReader("fichero.txt"));
//leemos de linea a linea ,
// para hacerlo de caracter a caracter seria :
// while(( n=in.read())!=-1){c=(char)n; s2+=c+"\n"}

while((s = in.readLine())!= null){
s2 += s + "\n";
}
in.close();
System.out.print(s2);
}
}

Última edición por dogduck; 02/01/2006 a las 16:00
  #3 (permalink)  
Antiguo 02/01/2006, 16:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Ok!

Ok muchiiiiiiisimas gracias de verdad. Por lo que veo lo estaba haciendo bien. La cosa es que me salia un error y pensaba que podia ser por que no leia bien el fichero.
  #4 (permalink)  
Antiguo 04/01/2006, 01:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Lo haces bien, CARCAHARAS, y de hecho la forma en que lo haces es mucho más rápida ya que no estas leyendo byte a byte, o char a char, si no de linea en linea.
Y en un BufferedReader, una indicacion del final de fichero es cuando readLine devuelve null, efectivamente.
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 03:55.