Estoy tratando de leer el texto de un archivo de texto.
Necesito ayuda para saber cuando es el fin de archivo se ha producido. ¿Cómo puedo determinar esto en Java?

FileInputStream istream = new FileInputStream("\""+filename+"\"");      
Scanner input = new Scanner(istream);
while(EOF != true)
{
 ....
}

Gracias!

InformationsquelleAutor Blackbinary | 2010-11-17

2 Comentarios

  1. 26

    Puede comprobar el uso de hasNextLine():

    Scanner input = new Scanner(new File("\""+filename+"\""));
    while(input.hasNextLine())
    {
       String data = input.nextLine();
    }
    • Scanner.hasNextLLine() va a estrellarse y arder si no estás leyendo una línea entera de un tiempo (.nextLine()). De lo contrario, por Thomas Langston, uso .hasNext() lugar.
  2. 6

    Basada en la línea de la recuperación puede ser lo que quiera, pero basada en token también puede ser útil.
    Se puede ver en la documentación de Scanner

    public boolean hasNext()

    Devuelve true si este Scanner tiene otro token en su entrada. Este método puede bloquear mientras se espera para la entrada a la exploración. El Scanner no avanzar más allá de cualquier entrada.

    Especificado por:
    hasNext en la interfaz de Iterator<String>

    Devuelve:
    true si y sólo si este Scanner tiene otro token

    Lanza:
    IllegalStateException – si esta Scanner es cerrado

    Vea También:
    Iterator

Dejar respuesta

Please enter your comment!
Please enter your name here