1、字节流:
1)InputStream(抽象类)–>字节输出流
FileInputStream(inputStream的子类)
2)OutputStream(抽象类)–>字节输出流
FileOutputStream(OutputStream的子类)
2、字符流:
1)Reader(抽象类)–>字符输入流
InputStreamReader(Reader的子类)
FileReader(InputStreamReader的子类)
注意: (1)UTF-8是万国码,建议所用软件编码格式为UTF-8
(2)学习流需要掌握各个类之间的继承关系
(3)创建流对象的时候,根据构造方法的参数传参。
2)BufferedReaderl类(Reader的子类)–>缓冲输入流
3)Writer(抽象类)–>字符输出流
OutputStreamWriter(Writer的子类)–>设置编码格式
FileWriter(OutputStreamWriter的子类):不可以设置编码格式
4)BufferedReader():缓冲输出流
3、Reader类常用方法
int read( )
int read(char[] c)
read(char[] c,int off,int len)
void close( )
子类InputStreamReader常用的构造方法
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String charsetN
*FileReader类是InputStreamReader的子类
FileReader(File file)
FileReader(String name)
该类只能按照本地平台的字符编码来读取数据,用户不能指定其他的字符编码类型
System.out.println(System.getProperty(“file.encoding”)); 获得本地平台的字符编码类型
4、BufferedReader常用的构造方法
BufferedReader(Reader in)
子类BufferedReader特有的方法:readLine()
5、序列化和反序列化
* ObObjectOutputStream(OutputStream类的子类)–>序列化流:将对象信息写入到文件中
* ObjectInputStream(InputStream类的子类)–>反序列化流:从计算机文件中获取对象信息
*注意:序列化和反序列化,对象所在的类需要实现Serializable接口
序列化类中writeObject()将对象写入到指定文件中
反序列化类中readObject()从指定文件中读取对象信息,该方法返回值类型是Object,需要进行强转
如果类中某个属性不想写入到指定文件中,可以使用transient属性进行修饰,但是,在获取该对象属性值的时候,获取到的是默认值
6、使用BufferedReader和BufferedWriter读写文本文件有什么优势?
提高字符流写文本文件的效率
7、复制二进制文件使用什么流?步骤是什么?
DataInputStream类:
引入相关的类
构造数据输入流对象
调用read()方法读取二进制文件
关闭数据输入流
DataOutputStream类:
引入相关的类
构造数据输出流对象
调用write()方法写二进制文件
关闭数据输出流
8、如何进行序列化和反序列化?
序列化:
1)实现Serializable接口
2)创建对象输出流
3)调用writeObject()方法将对象写入文件
4)关闭对象输出流
反序列化:
1)实现Serializable接口
2)创建对象输入流
3)调用readObject()方法读取对象
4)关闭对象输入流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值