Newsgroup: it.comp.java
Titolo: EOF in una BufferedReader

Come posso intercettare l'EOF in una dichiarazione "BufferedReader inFile =
new BufferedReader(new FileReader(File));" ?
Grazie a tutti ...
D'Angelo Gennaro

new BufferedReader(new FileReader(File));" ?
Leggendo la documentazione ;-)
Se usi readLine(), devi controllare il valore di ritorno: se è null...
hai incontrato EOF.
-- 
Ciao
	Fabrizio C.

Grazie dell'aiuto ....
Ho provato con "if (inString == null)" ma il file contiene i seguenti dati:
Riga1    Content-Type: multipart/mixed; boundary="--PART.BOUNDARY.1"
Riga2
Riga3    This is a multi-part message in MIME format.
Quando arriva a leggere la Riga2 mi ritorna un "null", anche se mi sarei
aspettato un CRLF.
Sbaglio qualcosa ?
"Fabrizio Camera" <f.camer...@NOSPAMusa.net> ha scritto nel messaggio
news:3b40ed9...@news.libero.it...



guarda questo esempio che si trova su tij 
c'è tutto quello che ti server
//: c11:IOStreamDemo.java
// Typical I/O stream configurations.
import java.io.*;
public class IOStreamDemo {
  // Throw exceptions to console:
  public static void main(String[] args) 
  throws IOException {
    // 1. Reading input by lines:
    BufferedReader in =new BufferedReader(new
FileReader("IOStreamDemo.java"));
    String s, s2 = new String();
    while((s = in.readLine())!= null)
      s2 += s + "\n";
    in.close();
    // 1b. Reading standard input:
    BufferedReader stdin =new BufferedReader(new
InputStreamReader(System.in));      
    System.out.print("Enter a line:");
    System.out.println(stdin.readLine());
    // 2. Input from memory
    StringReader in2 = new StringReader(s2);
    int c;
    while((c = in2.read()) != -1)
      System.out.print((char)c);
    // 3. Formatted memory input
    try {
      DataInputStream in3 =new DataInputStream(new
ByteArrayInputStream(s2.getBytes()));
      while(true)
        System.out.print((char)in3.readByte());
    } catch(EOFException e) {
      System.err.println("End of stream");
    }
    // 4. File output
    try {
      BufferedReader in4 =new BufferedReader(new StringReader(s2));
      PrintWriter out1 =new PrintWriter(new BufferedWriter(new
FileWriter("IODemo.out")));
      int lineCount = 1;
      while((s = in4.readLine()) != null )
        out1.println(lineCount++ + ": " + s);
      out1.close();
    } catch(EOFException e) {
      System.err.println("End of stream");
    }
    // 5. Storing & recovering data
    try {
      DataOutputStream out2 =new DataOutputStream(new
BufferedOutputStream(new FileOutputStream("Data.txt")));
      out2.writeDouble(3.14159);
      out2.writeChars("That was pi\n");
      out2.writeBytes("That was pi\n");
      out2.close();
      DataInputStream in5 =new DataInputStream(new
BufferedInputStream(new FileInputStream("Data.txt")));
      BufferedReader in5br = new BufferedReader(new
InputStreamReader(in5));
      // Must use DataInputStream for data:
      System.out.println(in5.readDouble());
      // Can now use the "proper" readLine():
      System.out.println(in5br.readLine());
      // But the line comes out funny.
      // The one created with writeBytes is OK:
      System.out.println(in5br.readLine());
    } catch(EOFException e) {
      System.err.println("End of stream");
    }
    // 6. Reading/writing random access files
    RandomAccessFile rf =new RandomAccessFile("rtest.dat", "rw");
    for(int i = 0; i < 10; i++)
      rf.writeDouble(i*1.414);
    rf.close();
    rf =
      new RandomAccessFile("rtest.dat", "rw");
    rf.seek(5*8);
    rf.writeDouble(47.0001);
    rf.close();
    rf =
      new RandomAccessFile("rtest.dat", "r");
    for(int i = 0; i < 10; i++)
      System.out.println(
        "Value " + i + ": " +
        rf.readDouble());
    rf.close();
  }
} ///:~
" Il valore genera l’invidia nelle menti meschine e l’emulazione nelle anime grandi."
Henry Fielding

GRAZIE  1000 !!!!!