先说一下,Reader Writer是字符流,InputStream OutputStream是字节流。因为要创建对象,所以LZ这里的Reader应该是FileReader。
既然是用FileReader来将要读取的字符串路径封装进对象,所以肯定是用的字符流。而字符流的读取过程中,肯定会读到结尾,这时就需要返回一个值来表示已经到结尾了。read()方法就是以int类型的-1来表示已读到结尾的。
int i=0;
while ((i=is.read())!=-1) {
所以说这里的 i 只是为了作为结尾的标记存在的,read读取的当然是字符数据。LZ应该明白了吧,呵呵。 作者: 王广丛 时间: 2012-6-11 21:35
因为是字符流,所以返回的肯定是字符这是毫无疑问的,但是,当读取完毕之后,就返回-1,以表示读取完毕。其API解释如下:
public int read()
throws IOException读取单个字符。