你是读入一个文件还是从控制台直接输入?如果是后者的话,呢回车的时候就表示你输入了一个EOF。

解决方案 »

  1.   

    意思就是说你点饥“回车”的时候,这个read方法就能识别出来知道你的输入结束了,
    主要就是方法实现这个功能之一,要不怎么判断你的输入结束呢?》
      

  2.   

    好像控制台的每行输入要等你按下回车才会交给程序处理吧, 你按下回车之前程序还不知道你已经输入了什么, 按下回车之后, 程序尽可能的把你的输入放入缓存buff中, 并显示出来不知道这样解释对不对, 我修改了一下你的程序, 贴在下面, 这个程序也是要等到回车才有显示的import java.io.*;public class ReadWrite2 {
    public static void main(String[] args){
    byte[] buff = new byte[1024];
    while (true) {
    try {

    System.out.write(System.in.read());
    }
    catch(Exception e){
    System.exit(1);
    }
    }
    }
    }
      

  3.   

    在控制台下,对于read()函数,回车----表示结束(EOF)
      

  4.   

    System.in返回InputStream类,它的read就是InputStream类的read方法,它只是读一个字节,并不是读到文件末尾,或者字节数组;许多其他的流提供了这些功能。
    一个回车也是一个字节,当你输入回车的时候,System.in.read读到一个字符就返回了。