fr.read():读取的是字节
fr.read(buf):读取到的是字符,返回值是读取的长度。如果长度不等于-1,代表读取到了内容;当等于-1时,说明没有读取到内容,此时就可以结束读取了。
详细说明fr.read(char[]):
1、在read(char[])方法中会调用read(cbuf, 0, len)方法
- public int read(java.nio.CharBuffer target) throws IOException {
- int len = target.remaining();
- char[] cbuf = new char[len];
- int n = read(cbuf, 0, len);
- if (n > 0)
- target.put(cbuf, 0, n);
- return n;
- }
复制代码
2、在read(cbuf, 0, len)方法中会将read()读取的内容强制转换为char类型
- public int read(char[] cbuf, int off, int len) throws IOException {
- for(int i=0; i < len; i++)
- cbuf[off + i] = (char)read();
- return len;
- }
复制代码
3、read()方法读取的是字节
|