PDA

Ver la Versión Completa : caracter fin de archivo u otra solucion


federicoboga
29-06-2006, 21:23:24
Hola amigos, hoy me encuentro ante un problema que, supongo, es bastante comun para muchos de ustedes. Necesito recorrer un archivo de texto caracter por caracter. Intente hacerlo de la sieguiente manera:

BufferedReader reader= new BufferedReader(new FileReader("archivo.txt"));
char ch= (char)reader.read();
while(ch!='\0') {
System.out.print(ch);
ch= (char)reader.read();
}

funciona bien, el problema es que no me toma el caracter '\0' como fin de archivo y se queda ciclando. Tambien probe cambiando el caracter '\0' por -1 pero sigue sin reconocer el fin de archivo. Espero que la duda este clara y me puedan contestar. Nos vemos y muuchas gracias!!

egostar
29-06-2006, 22:07:30
Federico

Lo que pasa es que el caracter \0 es un caracter nulo, el codigo de fin de archivo en decimal es el 26 que en DOS se representa como ^Z o Ctrl-Z.

Usa este caracter en Decimal 26 o en Hexadecimal 1A.

Espero te sirva.

Saludos

federicoboga
30-06-2006, 01:09:02
Egostar gracias por tu respuesta. Me sirvio muchisimo, lo unico que tuve que hacer es ver que valor le correspondia al decimal 26 y me arrojo 65535, luego lo reemplace por mi bendito '\0' que no servia para nada y listo! quedando asi

BufferedReader reader= new BufferedReader(new FileReader("archivo.txt"));
char ch= (char)reader.read();
while(ch!=(char)65535){
System.out.print(ch);
ch= (char)reader.read();
}

gracias de nuevo!
Fede.