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