Java的IO温习

Java的IO复习

一、对于处理方式的分类

  字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer

二、字节流

        1.InputStream的API

      

read()                   //从输入流中读取下一个字节。返回0-255,结尾返回-1
read(byte[])          //返回从输入流中读取的字节数,文件末尾返回-1;byte的长度0返回0
read(byte[],off,len)//读取长度<=len,off为byte中的位置byte[off],返回实际长度,结尾-1

 

        2.OutputStream

write(int)                  //写入低8字节,忽略高24位
write(byte[])            //写入byte
write(byte[],off,len) //写入长度len,位置off
flush()                         //

 

      3.最后不要忘了close

      

      4.对应的子类


Java的IO温习
       5常用

FileInputStream   //直接对应了文件
ByteArrayInputStream //用bute[]构建了一个缓冲区
StringBufferInputStream //此类未能正确地将字符转换为字节,废弃了,用StringReader 
FilterInputStream//和一些装饰流
    LineNumberInputStream//废弃 LineNumberReader
PipedInputStream:管道,主要用于线程
SequenceInputStream:合并InputStream

 

ByteArrayOutputStream //缓冲到一个byte数组中
FileOutputStrean      //将信息存到文件中
PipedOutputStream
SequenceOutputStream

 三、字符流

 


Java的IO温习
 四、注意事项

        1.用完输入输出要close

        2.缓冲区应该怎么用?

        3.大文件读取应该怎么办?

        4.乱码问题该怎么搞?

        5.字节字符装换