---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
IO流:数据传输的中转站 源————>IO流————>目的地
IO流一般都是成对出现,也就是按照流向分为:输入流和输出流
IO流按照操作的对象来分:字节流和字符流
一、字符流
基类:Reader(读)、Writer(写)
|-Reader
|--BufferedReader:对Reader进行了包装,提供了缓冲区(8192),有readLIne方法
构造函数:BufferedReader(Reader r) read()方法是从缓冲区读
|--InputStreamReader:转换流,将字节流转成字符流new InputStreamReader(InputStream in)
|---FileReader:读取文件的字符流,FileReader(File file),FileReader(String fileName)
|-Writer
|--BufferedWriter:包装类,常用方法:write(String s)、flush、newLine(),
BufferedWriter(Writer w) write()方法写入缓冲区
|--OutputStreamWriter:转换流,OutputStreamWriter(OutputStream out)
|---FileWriter:写入文件,FileWriter(File file),FileWriter(String fileName)
FileWriter(File file,boolean append),FileWriter(String fileName,boolean append)
当append值为true时,将写入文件的末尾处,当为False时,从文件开头开始写,就会覆盖原来的。
二、字节流
|-InputStream(输入流)
|--FileInputStream:读取文件的字节流,和FIleReader用法基本一样。
|--FilterInputStream:过滤流,一般不使用,只是对InputStream的简单包装
|---BufferedInputStream:包装类,BufferedInputSteam(InputStream in),提供了缓冲区
|--FileOutputStream
|--FilterOutputStream
|---BufferedOutputStream
三、使用IO流必须要捕获异常,原因在于我们必须要还资源(关闭流)。
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------