Java的IO复习
一、对于处理方式的分类
?字节流字符流输入流InputStreamReader输出流OutputStreamWriter二、字节流
??????? 1.InputStream的API
??????
read() //从输入流中读取下一个字节。返回0-255,结尾返回-1read(byte[]) //返回从输入流中读取的字节数,文件末尾返回-1;byte的长度0返回0read(byte[],off,len)//读取长度<=len,off为byte中的位置byte[off],返回实际长度,结尾-1
?
??????? 2.OutputStream
write(int) //写入低8字节,忽略高24位write(byte[]) //写入bytewrite(byte[],off,len) //写入长度len,位置offflush() //
?
??????3.最后不要忘了close
??????
??????4.对应的子类

?????? 5常用
FileInputStream //直接对应了文件ByteArrayInputStream //用bute[]构建了一个缓冲区StringBufferInputStream //此类未能正确地将字符转换为字节,废弃了,用StringReader FilterInputStream//和一些装饰流 LineNumberInputStream//废弃 LineNumberReaderPipedInputStream:管道,主要用于线程SequenceInputStream:合并InputStream
?
ByteArrayOutputStream //缓冲到一个byte数组中FileOutputStrean //将信息存到文件中PipedOutputStreamSequenceOutputStream
?三、字符流
?

?四、注意事项
????????1.用完输入输出要close
??????? 2.缓冲区应该怎么用?
??????? 3.大文件读取应该怎么办?
??????? 4.乱码问题该怎么搞?
??????? 5.字节字符装换?