对java io操作的再理解

以前对于io操作,总是马马虎虎,弄的不是很清楚,总结下:

InputStream  -->  字节流           byte数组     byte[]bytes = new byte[1024]         read方法

Reader  --->   字符流       char数组      char[] c = new byte[1024]         read方法 ,如果是BufferedReader,带缓冲的字符流,就是readLine()方法

BufferedInputStream -->字节流           byte数组      byte[] bytes = new byte[1024]           read方法


while(len = is.read(bytes) != -1)

{

.......

}

is.read(bytes)中,读取byte数组,比如 byte[] bytes = new byte[1024]。如果源文件有2050个字节,那么前两次读取的时候len的值都是1024。第三次len的值是2(2050-1024*2)。


 

你可能感兴趣的:(对java io操作的再理解)