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 表示什么
read()读到-1为什么可以判断文件尾,Byte小于零的是什么?
read
public int read()
throws IOException从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。 指定者:
类 InputStream 中的 read
返回:
下一个数据字节;如果已到达文件末尾,则返回 -1。
抛出:
IOException - 如果发生 I/O 错误。
public int read(byte[] b)
throws IOException从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。在某些输入可用之前,此方法将阻塞。 覆盖:
类 InputStream 中的 read
参数:
b - 存储读取数据的缓冲区。
返回:
读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
InputStream.read(byte[], int, int)