使用Java序列化把对象存储到文件中,再从文件中读出来
2013-03-28 22:47
609 查看
使用Java序列化把对象存储到文件中去,再从文件中读取出来。
此时,我们使用ObjectOutputStream和ObjectInputStream来进行对象的读取。
使用ObjectOutputStream对象的writeObject()方法来进行对象的写入。
使用ObjectInputStream对象的readObject()方法来读取对象。
此时,我们使用ObjectOutputStream和ObjectInputStream来进行对象的读取。
使用ObjectOutputStream对象的writeObject()方法来进行对象的写入。
使用ObjectInputStream对象的readObject()方法来读取对象。
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import junit.framework.TestCase; /** * 使用Java序列化把对象存储到文件中,再从文件中读出来 注意读取的时候,读取数据的顺序一定要和存放数据的顺序保持一致 * * @author Champion Wong * */ public class Test08 extends TestCase { public void test() { // 创建一个User对象 User user = new User(); user.setId(1); user.setName("Mr XP.Wang"); // 创建一个List对象 List<String> list = new ArrayList<String>(); list.add("My name"); list.add(" is"); list.add(" Mr XP.Wang"); try { ObjectOutputStream os = new ObjectOutputStream( new FileOutputStream("C:/wxp.txt")); os.writeObject(user);// 将User对象写进文件 os.writeObject(list);// 将List列表写进文件 os.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { ObjectInputStream is = new ObjectInputStream(new FileInputStream( "C:/wxp.txt")); User temp = (User) is.readObject();// 从流中读取User的数据 System.out.println(temp.getId()); System.out.println(temp.getName()); List tempList = (List) is.readObject();// 从流中读取List的数据 for (Iterator iterator = tempList.iterator(); iterator.hasNext();) { System.out.print(iterator.next()); } is.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } class User implements Serializable { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
相关文章推荐
- 使用Java序列化把对象存储到文件中,再从文件中读出来
- 使用Java序列化把对象存储到文件中,再从文件中读出来
- java对象序列化并存储到文件和数据库
- 将java对象存储到redis数据库(使用序列化和反序列化)
- 将java对象存储到redis数据库(使用序列化和反序列化)
- Java序列化 如何把多个对象存储在一个文件中
- 什么是序列化?一句话:就是将java对象固化成文件存起来,这样就java对象就被固话了,可以任意的存储和网络传输了,而java对象是暂时存在内存里的,是没办法传输的,因为是虚拟的,并不是实实在在的文件
- 将java对象存储到redis数据库(使用序列化和反序列化)
- Java序列化 如何把多个对象存储在一个文件中
- JAVA使用Jedis操作Redis存储文件并读取文件内容
- java 关于中文字的输出 输入 和文件操作(对象序列化)
- Java提高篇(五):使用序列化实现对象的拷贝
- Java基础之写文件——使用Formatter对象加载缓冲区(UsingAFormatter)
- java反射调用配置文件构造类对象,使用其方法
- Java 序列化对象的一个使用案例
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务2
- PHP使用serialize和json_encode序列化数据并通过redis缓存文件和$GLOGALS缓存资源对象
- java Redis Jedis存储Java对象 - (Java序列化为byte数组方式)
- java序列化对象到文件和数据库(Hibernate postgres)