java序列化,反序列化及反序列如何判断是否已读到文件末尾
来源:互联网 发布:之乎不潮流只先锋 编辑:程序博客网 时间:2024/05/18 00:20
对象序列化和反序列化 必须实现Serializable 接口
关于反序列,因为对象已经是一个字节序列所以,不能用.read()方法判断 同时使用
string s =(String)in.readObject()方法 虽然能够读取文件 但是会抛出EOFException 异常 可以利用这一点
详情见代码
package Number_1802;import java.io.*;/** * 对象序列化和反序列化 必须实现Serializable 接口 关于反序列,因为对象已经是一个字节序列所以,不能用.read()方法判断 同时使用 * string s =in.readObject()方法 虽然能够读取文件 但是会抛出EOFException 异常 可以利用这一点 * * * @author he * */public class P573 implements Serializable {static String filename = "F:/workspace/Java Thinking002/src/Number_1802/P573.java";static String filename2 = "F:/IOtest/b/Serializable.txt";public static void main(String[] args) throws IOException, IOException,ClassNotFoundException {// 对象序列化ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(filename2));BufferedReader in = new BufferedReader(new FileReader(filename));String s;while ((s = in.readLine()) != null) {// 通过writeObject() 实现序列化,打开文件很乱out.writeObject(s);}// 反序列化ObjectInputStream in2 = new ObjectInputStream(new FileInputStream(filename2));System.out.println("因为是字节序列,所以用.read()方法永远是-1:" + in2.read());// 使用此方法虽然能读出文件但会抛出EOFException异常,因此利用这一点用第二种方法输出// String s2;// while((s2=(String)in2.readObject())!=null){// System.out.println(s2);// }while (true) {try {System.out.println(in2.readObject());// 当抛出EOFException时 则表明已经读到文件末尾} catch (EOFException e) {break;}}}}
0 0
- java序列化,反序列化及反序列如何判断是否已读到文件末尾
- JAVA序列化及反序列化
- java 序列化及反序列化
- java序列化及反序列化
- JAVA序列化及反序列化
- JAVA序列化及反序列化
- Java 序列化反序列化文件
- 序列化及反序列化
- .net序列化及反序列化
- .net序列化及反序列化
- 序列化及反序列化Dictionary
- BinaryFormatter 序列化及反序列化
- 序列化及反序列化
- 序列化及反序列化
- .net序列化及反序列化
- .NET序列化及反序列化
- .net序列化及反序列化
- .Net 序列化及反序列化
- 使用easyUI框架实现列表的整体排序
- 验证或上传AppStore不通过,Xcode attempted to locate or generate matching 提示缺少iOS分布身份签约***、不能修改system roots钥匙串
- [从头学数学] 第89节 数学广角--找次品
- PHP $_SERVER
- MVC学习笔记_ORM_框架_解耦
- java序列化,反序列化及反序列如何判断是否已读到文件末尾
- Html+CSS text-indent 意义 负值用法与注意事项
- 一种抢红包实现方式
- Searching within TV Apps
- SQL基本语句
- zoj 1586 QS Network
- 分布式内存文件系统:Tachyon
- 如何减小软件包的大小
- C语言int的取值范围