当前位置:首页 >> 信息与通信 >>

数据持久化


import import import import

java.io.*; java.util.ArrayList; java.util.Date; java.util.List;

/** * 持久化示例。如何将内存中的数据保存起来,并没有一定的格式,任何人 * 都可以根据自己的喜好来制定。持久化需要文件操作,所以请务必先弄懂 * 如何读写文件。 */ public class Persistant { // 文件名可随意指定, 你可以用文本编辑器打开这个文件 (注意, 记事本无法处理换行) static String filename = "persons.data"; public // // // if static void main(String[] args) throws Exception { 将这个程序运行两遍。 第一遍它会创建一些 Person 对象并保存到文件; 第二遍它会从文件中读取对象数据并显示出来。 (!new File(filename).exists()) { createAndSave(); } else { readAndShow(); }

} // 生成并保存 Person 对象 private static void createAndSave() throws IOException { List<Person> persons = createPersons(); savePersons(persons); } // 读取并显示 Person 对象 private static void readAndShow() throws IOException { List<Person> persons = readPersons(); showPersons(persons); } // 创建要保存的 Person 对象 private static List<Person> createPersons() { List<Person> result = new ArrayList<Person>(); result.add(new Person("张三", new Date(), true)); result.add(new Person("李四", new Date(), false)); result.add(new Person("王五", new Date(), true));

return result; } // 保存 Person 对象到文件。保存格式为: // 1、每个 Person 一行 // 2、每行依次存放 name、birthday、male 三个属性值,用 tab 隔开 // 3、birthday 属性保存的是毫秒数,male 属性保存的是字符串 private static void savePersons(List<Person> persons) throws IOException { // 生成文件内容 String data = ""; for (Person person : persons) { data += getPersonString(person) + "\n"; } // 保存文件内容 FileWriter writer = new FileWriter(filename); writer.write(data); writer.close(); System.out.println("对象保存完毕。"); } private static String getPersonString(Person person) { return person.getName() + "\t" + person.getBirthday().getTime() + "\t" + person.isMale(); } // 从文件中读取 Person 对象 private static List<Person> readPersons() throws IOException { List<Person> result = new ArrayList<Person>(); BufferedReader reader = new BufferedReader(new FileReader(filename)); String line; while ((line = reader.readLine()) != null) { result.add(getPersonFromString(line)); } return result; } // 通过一行文件内容生成一个 Person 对象 private static Person getPersonFromString(String line) { String[] parts = line.split("\t"); // 获取被分隔的三个部分

return new Person( parts[0], new Date(Long.parseLong(parts[1])), Boolean.parseBoolean(parts[2]) ); }

// 姓名 // 出生日期 // 是否为男性

// 显示 Person 对象 private static void showPersons(List<Person> persons) { for (Person person : persons) { System.out.println(person.getName() + ", " + person.getBirthday() + ", " + (person.isMale() ? "男" : "女")); } } } // 要持久化的类 class Person { private String name; private Date birthday; private boolean male; // 姓名 // 生日 // true 表示男性,false 表示女性

Person(String name, Date birthday, boolean male) { this.name = name; this.birthday = birthday; this.male = male; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; }

public void setBirthday(Date birthday) { this.birthday = birthday; } public boolean isMale() { return male; } public void setMale(boolean male) { this.male = male; } }


相关文章:
A卷
使用 Hibernate 可以简化持久化层的编码 2.下面关于数据持久化概念的描述,错误的是( A.保存在内存中数据的状态是瞬时状态 B. 持久状态的数据在关机后数据依然存在...
持久化PersistenceService
SqlWorkflowPersistenceService 类说明 SqlWorkflowPersistenceService 类是使用 SQL 数据库对工作流状态进行持久化的服务 实例使用 Unload 方式通过加载到引擎中的 SqlWor...
优就业WEB教程-Web数据持久化存储IndexedDB
优就业 WEB 教程-Web 数据持久化存储 IndexedDB IndexedDB 是在浏览器中保存结构化数据的一种数据库, 为了替换 WebSQL(标 准已废弃,但被广泛支持)而出现。...
JPA基本概念和持久化的概念
在 hibernate 中, session 管理着所有的持久化对象的数据。而在 EJB3 中, EntityManager 管理着 PersistenceContext,PersistenceContext 正是被管理的持久化对象的集...
IOS数据持久化之归档NSKeyedArchiver(烟台杰瑞教育原创)
IOS数据持久化之归档NSKeyedArchiver(烟台杰瑞教育原创)_计算机软件及应用_IT/计算机_专业资料。IOS数据持久化之归档NSKeyedArchiver烟台杰瑞教育科技有限公司(IOS 开发...
Android 数据库存储全过程
云南新华电脑学院实验报告 2016 年 5 月 2 日 课程名称: Android 姓名: 实验名称:探究数据持久化 张先福 同组人: 签名: 班级: tc1402 网软 指导教师评定...
android 数据持久化之IO操作
www.tsingyuan.cn android 数据持久化——I/O操作 主要的两个类:openFileOutput(写)和 openFileInput(读) 向文件中写如数据代码如下: [java] view plaincopy...
用友NCV6.1 NC数据库持久化学习
用友NCV6.1 NC数据持久化学习_计算机软件及应用_IT/计算机_专业资料。NC 数据持久化学习 1、案例的应用场景概述:在 NC 的开发中可以直接通过 JDBC 编程来...
将数据持久化到文件中,访问外部SD卡设备
数据持久化到文件中, 将数据持久化到文件中,访问外部 SD 卡设备 **文件读写 Context.openFileOutput(String name, int mode) 根据指定的文件名,返回文件输出...
Hibernate对象持久化
持久化简介 Hibernate 是一个开放源代码的对象关系映射框架, 它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的 使用对象编程思维来操纵数据库...
更多相关标签: