为了账号安全,请及时绑定邮箱和手机立即绑定

批量读取是否还需要循环与判断-1

xxx.read()一个一个读需要判断!=-1来停止循环可以理解,为啥批量读取也需要循环和判断-1,批量读取不是直接把所有的内容都读到数组里再全都打印到控制台吗,为什么还需要循环和判断-1,我把循环和判断-1去掉也能打印完全啊,求大大指点

正在回答

3 回答

我觉得原因是,即使是批量读取容量也是有限的,不一定能一次读完,所以要加循环

0 回复 有任何疑惑可以回复我~

我们来看API:

                int tmpRead;
		while((tmpRead=charReader.read())!=-1) {  
		//.read() :Reads a single character.
	        //The character read, or -1 if the end of the stream has been reached
			charWriter.write(tmpRead);
			}

读取单个字符/字节,返回所读的单个字符(InputStreamReader)/字节(FileInputStream),否则当空或结尾的时候返回-1 。

当读到字符/字节时, 赋值给tmpRead, 

当读到结尾/该文件本身就是空,返回-1,-1结束,不存入output流


0 回复 有任何疑惑可以回复我~

需要的,因为批量多的时候,是读取你指定的长度,但是这时候并不应定会读完,所以仍然需要判断

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

批量读取是否还需要循环与判断-1

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信