黑马程序员技术交流社区
标题:
在IO流中自定义数组读写时的问题
[打印本页]
作者:
郭涛
时间:
2013-12-24 21:45
标题:
在IO流中自定义数组读写时的问题
FileInputStream fis = new FileInputStream("C:/Users/king/Desktop/Readme.txt");
FileOutputStream fos = new FileOutputStream("bcd.txt");
int len;
byte[] arr= new byte[1024];
while((len = fis.read(arr)) != -1){
fos.write(arr, 0, len);
}
fis.close();
fos.close();
复制代码
在上面的IO流读写中,我自定义了一个数组去进行复制。
那么len是代表数组的长度的,为什么在while循环的判断条件中是!=-1而不是!=0?
作者:
熊志伟
时间:
2013-12-24 22:02
读入缓冲区的字节总数,如果因为已经到达流末尾而没有更多的数据,则返回 -1。具体参见FileInputStream的 read(byte[] b)方法
作者:
75100313
时间:
2013-12-25 14:30
public abstract int read() throws IOException
这个方法的api
返回:
下一个数据字节;
如果到达流的末尾,则返回 -1。
下回好好看看api
作者:
duanyoujiji
时间:
2013-12-28 12:50
java文档中是返回-1代表末尾的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2