技术博客—IO流部分
来源:互联网 发布:网络诈骗罪的量刑标准 编辑:程序博客网 时间:2024/05/23 11:06
技术博客—IO流部分:
今日学习要点:
一、转换流;
二、流的基本操作;
三、对象的序列化;
四、随机文件的操作;
1、Reader ---InputStreamReader,文件输入流,专门读取字符流的对象文件!
Writer ---OutputStreamWriter 文件输出流,专门同于处理字符流的文件。
Reader 和writer 是字符流和字节文件转换的桥梁,
而且在装换过程中还能进行指定的编码转换!
构造函数:
InputStreamReader(InputStream):通过该构造函数初始化,使用的是本系统默认的编码表GBK。
InputStreamReader(InputStream,String charSet):通过该构造函数初始化,可以指定编码表。
OutputStreamWriter(OutputStream):通过该构造函数初始化,使用的是本系统默认的编码表GBK。
OutputStreamWriter(OutputStream,String charSet):通过该构造函数初始化,可以指定编码表。
FileReader fr = new FileReader("a.txt");//操作a.txt的中的数据使用的本系统默认的GBK。
//很重要的一个东西,
既然是数据汇,那么一定是输出流,可以用的OutputStream,Writer。
往文件中存储的都是文本数据,那么可以使用字符流较为方便:Writer.
因为操作的是一个文件。所以使用Writer中的FileWriter。
是否要提高效率呢?是,那就使用BufferedWriter.
//String charSet = System.getProperty("file.encoding");
String charSet = "utf-8";
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new
FileOutputStream("a.txt"),charSet);
对象的序列化
ObjectInputStream
ObjectOutputStream
可以通过这两个流对象直接操作已有对象并将对象进行本地持久化存储。
存储后的对象可以进行网络传输。
两个对象的特有方法:
ObjectInputStream
Object readObject():该方法抛出异常:ClassNotFountException。
ObjectOutputStream
void writeObject(Object):被写入的对象必须实现一个接口:Serializable
否则会抛出:NotSerializableException
Serializable:该接口其实就是一个没有方法的标记接口。
用于给类指定一个UID。该UID是通过类中的可序列化成员的数字签名运算出来的一个long型的值。
只要是这些成员没有变化,那么该值每次运算都一样。
该值用于判断被序列化的对象和类文件是否兼容。
如果被序列化的对象需要被不同的类版本所兼容。可以在类中自定义UID。
定义方式:static final long serialVersionUID = 42L;
注意:对应静态的成员变量,不会被序列化。
对应非静态也不想被序列化的成员而言,可以通过transient关键字修饰。
通常,这两个对象成对使用。
- 技术博客—IO流部分:
- 技术博客—IO流部分
- 黑马程序员—IO流部分
- IO流部分
- IO流部分实例讲解
- IO流部分案例总结
- 黑马程序员——IO流部分程序解析
- 黑马程序员——IO流部分程序解析
- 黑马程序员—IO流部分基础知识总结
- 2011.9技术博客IO包中的其他对象
- IO流_ IO流技术概述
- Java技术IO流的缓冲区技术
- IO流技术_总结
- Java之IO流技术
- 黑马程序员—IO技术
- 黑马程序员--IO流部分总结
- JAVA笔记之IO流第一部分
- 有关IO流的部分整理
- 2 在界面上显示战机
- 9.6
- css sprite 介绍和实例
- 2011.09.05
- 函数指针的使用例子
- 技术博客—IO流部分
- poj 3517(约瑟夫环。。。。。)
- 2011.9技术博客IO包中的其他对象
- vi学习_3学习vi命令的策略
- EEPROM、Flash学习总结 (MC9S12DG128)
- 指针的魅力
- Android开发的前景
- 串口学习总结(基于MC9SDG128)
- 使用DLL_THREAD_ATTACH阻止远程线程