请问读取一个文本文件,怎样判断是否已经到了EOF?

解决方案 »

  1.   

    readLine() != nullread() != -1
      

  2.   

    用BufferedReader来读,当readline方法返回是一个null的时候,就说明读到最后了。
      

  3.   

    while ((c=tfile.read())!=-1)
        {
      str=str+(char)c;
        }
      

  4.   

    import java.io.*;class Reader 
    {
       public static void main(String[] args) 
       {
          System.out.println("Starting ReaderWriter");
          String s = new String();
          try 
          {
             BufferedReader br = new BufferedReader(new FileReader("d:\\temp\\a.txt"));
             PrintWriter pw = new PrintWriter(new FileWriter("d:\\temp\\b.xls"));
             //会在 D盘下的temp下 建立名为 b.xls的表格 把a.txt里面的内容以xls方式显示出来.
             
             while ((s=br.readLine()) !=null)//每读入一行看下行是否为空不空接着读
             {
              System.out.println(s); //每次打印读入的一行
              pw.println(s);
             }
             br.close();//关闭
             pw.close();//关闭文件
          }
          catch(Exception ex) 
          {
             ex.printStackTrace();
          }
       }
    }不知道我理解的对不对  如果有那里不对希望高手指出来
      

  5.   

    使用这个属性:
    while(br.ready){
    }
    如果不为EOF,由while循环体中的语句会一直执行
      

  6.   

    用read()!=-1来判断是否到了最后一个字节
      

  7.   

    readLine() != nullread() != -1
      

  8.   

    readLine() != nullread() != -1
      

  9.   

    read
    public int read()
             throws IOException从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。 指定者:
    类 InputStream 中的 read
    返回:
    下一个数据字节;如果已到达文件末尾,则返回 -1。 
    抛出: 
    IOException - 如果发生 I/O 错误。
      

  10.   

    readLine
    public String readLine()
                    throws IOException读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。 返回:
    包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 
    抛出: 
    IOException - 如果发生 I/O 错误