FileInputStream 
read()一个字节的读返回-1就可以判断文件尾了
for(int i = Byte.MIN_VALUE;i<Byte.MAX_VALUE;i++){
System.out.print(i);
System.out.print(" ");
System.out.print((char)i);
System.out.print(" ");
if(i%10==0){
System.out.println();
}
}全部转成char也看不出来,0-127和ASCII码表一样
那-128 到 -1 表示什么

解决方案 »

  1.   

    FileInputStream
    read()读到-1为什么可以判断文件尾,Byte小于零的是什么?
      

  2.   

    楼主可以看一下read()方法的源码,就知道了。
      

  3.   

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

  4.   

    read
    public int read(byte[] b)
             throws IOException从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。在某些输入可用之前,此方法将阻塞。 覆盖:
    类 InputStream 中的 read
    参数:
    b - 存储读取数据的缓冲区。 
    返回:
    读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。 
    抛出: 
    IOException - 如果发生 I/O 错误。
    另请参见:
    InputStream.read(byte[], int, int)