File vuoti

Nella scrittura di programmi che leggono file va tenuto conto che un file può anche essere vuoto, ossia contenere zero caratteri. In questo caso, la prima esecuzione di fr.read() ritorna subito -1.

Per esempio, il seguente frammento di codice non funziona:

  // codice errato

    int x;
    char c;

    x=fr.read();

    do {
      c=(char) x;
      System.out.println(c);
      x=fr.read();
    } while(x!=-1);

Se il file è vuoto, allora l'esecuzione di fr.read() ritorna -1, che però a questo punto viene stampato nonostante il file non contenga nessun carattere.