黑马程序员技术交流社区
标题:
关于IO流的问题
[打印本页]
作者:
Fightin黑马
时间:
2014-9-20 22:47
标题:
关于IO流的问题
本帖最后由 Fightin黑马 于 2014-9-23 13:20 编辑
FileInputStream fis= new FileInputStream("a.txt");
int len;
while((len=fis.read())!=-1){
........
}
读取是按照字节读取的,为什么定义int来接收呢,另外-1结束标志在读取过程中是怎样表示的,
如果是二进制的八个1的话,在读取文件的时候整好碰到连续的八个1又怎么识别它不是结束标记呢
作者:
xpaibeyond
时间:
2014-9-21 02:18
read()一次只读一个字节, 返回 0 到 255 范围内的 int 字节值, 比如:8个为1就刚好等于255。 如果已经到达流末尾而没有可用的字节,则返回值 -1。
作者:
dreamseekerkun
时间:
2014-9-21 12:42
一个字节8位,很容易碰到-1,导致读取数据不准确,这时必须定义返回值类型为Int,Int占32位,但是只获取这8位有效值,让他&255,其余位补0就可以获取最低有效8位了,老毕有讲的,我表述的可能不准确,你再看下老毕讲的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2