流的分类:
普通流分类:
流向:
输入流:IntputStream,Reader
输出流:OutputStream,Writer
读取数据单元:
字节流:IntputStream,OutputStream
字符流:Reader,Writer
转换流:IntputStreamReader,OutputStreamWriter
高级流:不能直接作用于文件,要装载普通流/转换流
缓冲流:
二进制流:
对象流:
写对象
1、要求对象的类型必须是可序列化类型(实现了Serializable接口)
2、先有写入的目标流
3、创建对象流,把输出流装入
4、调用对象流的writeObject()方法把对象装入
5、关闭资源
读对象:
1、先有输入的源文件流
2、创建对象输入流,装入文件输入流
3、调用对象流的readObject()方法读取对象
4、关闭资源
Reader类
Reader类常用方法:
int read( ):从输入流中读取单个字符,返回所读取的字符数据
int read(char[] c) :从输入流中最多读取c.length个字符,保存到字符数组c中,返回实际读取的字符数
read(char[] c,int off,int len): 从输入流中最多读取len个字符,保存到字符数组c中,保存的位置从off位置开始,返回实际读取的字符数
void close( ):关闭流
Reader类的子类:
a)InputStreamReader类
构造方法:
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String charsetName)
b)BufferedReader类 (BufferedReader类带有缓冲区)
构造方法:
BufferedReader(Reader in)
特有方法:
readLine(); // 按行读取内容
使用BufferedReader读取文件步骤:
使用BufferedReader读取文件代码ÿ