Java学习笔记——从文件中直接读取已知对象
来源:互联网 发布:linux sort 指定列 编辑:程序博客网 时间:2024/05/21 10:15
这个方法只适用于已知文件内所存对象的具体内容,对于未知的类只能是利用流读取。具体实现代码如下:
import java.io.Serializable;import java.io.*;import java.nio.file.*;import java.io.IOException;//创建对象class Junk implements Serializable {private static java.util.Random generator = new java.util.Random();// 创建随机数// 建立对象参数private int answer;private double[] numbers;private String thought; private static final long serialVersionUID = 9001L;// 如果没有系统会默认创建,如果以前也有建立的对象接口但容易会有冲突public Junk(String thought) {this.thought = thought;answer = 12;numbers = new double[3 + generator.nextInt(4)];for (int i = 0; i < numbers.length; ++i) {numbers[i] = generator.nextDouble();}}@Overridepublic String toString() {StringBuffer strBuf = new StringBuffer(thought);strBuf.append('\n').append(String.valueOf(answer));for (int i = 0; i < numbers.length; ++i) {strBuf.append("\nnumbers[").append(String.valueOf(i)).append("]=").append(numbers[i]);}return strBuf.toString();//调用的未重载之前的toString函数}}public class DeserializeObjects {/** * @param args */public static void main(String[] args) {// TODO 自动生成方法存根Path file = Paths.get(System.getProperty("user.home")).resolve("Beginning Java Stuff").resolve("JunkObjects.bin");if(!Files.exists(file)){System.out.printf("\nFile %s does not exist.",file);System.exit(1);}int objectCount=0;try{ObjectInputStream objectIn=new ObjectInputStream(new BufferedInputStream(Files.newInputStream(file)));//建立读取对象流Junk object=null;while(true){object=(Junk)objectIn.readObject();//转化为目标对象,如果文件内对象不匹配会抛出异常++objectCount;System.out.println(object);}}catch(EOFException e){//读取完毕System.out.println("EOF reached. "+objectCount+" objects read.");}catch(ClassNotFoundException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}}}实现结果如下:
0 0
- Java学习笔记——从文件中直接读取已知对象
- Java从List中直接读取未知对象属性数据
- 安卓学习笔记——如何从资源中读取文件并且显示
- 我的python学习笔记、从文件中读取数据
- C#学习笔记:从文件中读取数据
- java——从文件中读取JSON
- JAVA从文件中读取
- Java将对象保存到文件中/从文件中读取对象
- JObject——直接转化为已知的对象类型
- 从JAVA直接读取EXCEL、WORD并生成PDF文件
- Java学习笔记——文件读取技术
- Java学习笔记——使用缓冲读取器读取文件
- Java学习笔记——JDBC读取properties属性文件
- Java学习笔记——JDBC读取properties属性文件
- 从Java档案(JAR)中读取文件
- 从 Java 档案 (JAR) 中读取文件
- 从 Java 档案(JAR) 中读取文件
- 从txt文件中读取数字 java
- ICE 网络库尝试
- C和C++中main函数的参数及其返回值详细解析
- 常用的ListView的使用
- 拉普拉斯算子
- 开始iOS 7中自动布局教程(一)
- Java学习笔记——从文件中直接读取已知对象
- 防火墙设置对外开放端口
- nyoj216A problem is easy(数学题)
- java线程池理解
- 使mysql executeBatch生效 设置rewriteBatchedStatements=true,用mysql-connector-java-5.1.34-bin.jar
- golang中sync.RWMutex和sync.Mutex区别
- Java集合和数组的排序方式总结
- metrics的timer功能在java项目中的使用方法
- Java中NaN和-0.0f的比较问题