java中将list、map对象写入文件
链接地址:http://blog.sina.com.cn/s/blog_4a4f9fb50101p6jv.html


public void writeObject() {
try {
HashMap<</span>String,String> map = new HashMap<</span>String,String>();
map.put("name", "foolfish");
FileOutputStream outStream = new FileOutputStream("E:/1.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream);
objectOutputStream.writeObject(map);
outStream.close();
System.out.println("successful");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
这里我们将一个map对象插入一个txt文件当中。java的IO包当中提供了Object的文件流。代码很简单,我们下面来看一看从该文件当中读取这个对象吧
public void readObject(){
FileInputStream freader;
try {
freader = new FileInputStream("E:/1.txt");
ObjectInputStream objectInputStream = new ObjectInputStream(freader);
HashMap<</span>String,String> map = new HashMap<</span>String,String>();
map = (HashMap<</span>String, String>) objectInputStream.readObject();
System.out.println("The name is " + map.get("name"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
代码也很简单,我们使用ObjectInputStream 的readobject的就可以读取文件中的对象,再按照封装对
象时候的类型进行强制转换一下。输出结果是aa foolfish。
上面提供的是对单个对象的存入和读取。对多个不同的对象该方法也适用。还是用代码来说明下吧。我们同时插入两个不同的对象,一个map,一个list。
public class ObjectToFile {
public void writeObject() {
try {
HashMap<</span>String,String> map = new HashMap<</span>String,String>();
map.put("name", "foolfish");
List<</span>String> list = new ArrayList<</span>String>();
list.add("hello");
list.add("everyone");
FileOutputStream outStream = new FileOutputStream("E:/1.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream);
objectOutputStream.writeObject(map);
objectOutputStream.writeObject(list);
outStream.close();
System.out.println("successful");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void readObject(){
FileInputStream freader;
try {
freader = new FileInputStream("E:/1.txt");
ObjectInputStream objectInputStream = new ObjectInputStream(freader);
HashMap<</span>String,String> map = new HashMap<</span>String,String>();
map = (HashMap<</span>String, String>) objectInputStream.readObject();
ArrayList<</span>String> list = new ArrayList<</span>String>();
list = (ArrayList<</span>String>) objectInputStream.readObject();
System.out.println("The name is " + map.get("name"));
System.out.println("aa " + list.get(1));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String args[]){
ObjectToFile of = new ObjectToFile();
of.writeObject();
of.readObject();
}
}
java中将list、map对象写入文件的更多相关文章
- java 如何遍历Map对象
内容介绍 在java中遍历Map对象的方法. Map对象 Map<String,Object> map = new HashMap<>(); map.put("xia ...
- Java中遍历Map对象的方法
方法一: 在for-each循环中使用entries来遍历 这是最常见的遍历方式,在需要获取key和value时使用. Map<Integer, Integer> map = new Ha ...
- java中遍历map对象的多种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...
- Java中遍历Map对象的4种方法
java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等). HashMap<Inte ...
- python将对象写入文件,以及从文件中读取对象
原文地址: http://www.voidcn.com/article/p-fqtqpwxp-wo.html 写入文件代码: >>> import sys, shelve >& ...
- Java将对象写入文件读出——序列化与反序列化
Java类中对象的序列化工作是通过ObjectOutputStream和ObjectInputStream来完成的. 写入: File aFile=new File("e:\\c.txt&q ...
- java中将数组、对象、Map、List转换成JSON数据
如果要将数组.对象.Map.List转换成JSON数据,那我们需要一些jar包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar commons-logging.ja ...
- 关于android 将对象写入文件以及从文件读取对象
由于项目需求,需要保存用户登录过的一些配置,当下次登录的时候读取登录过的配置,所以简单的SharePreferences没有办法满足,于是找到了Java中ObjectInputStream 与 Obj ...
- java关于StringBuffer和StringBuilder写入文件的效率问题
StringBuffer在存储字符的时候,是有上限的,一旦达到上线就会出错,自己在项目中遇到一个从数据库中查询数据,然后写入到本地文件中 ,数据量大概有30万条,此时的效率十分的低.下面是大致的模拟该 ...
随机推荐
- Android Developers:按需求加载视图
有时候你的布局可能需要较少使用的复杂视图.无论它们是项目详情,进度指示器,或者处理的信息,你能通过在它们被需要的时候加载的方式,来减少内存消耗和加快显示. 定义一个ViewStub ————————— ...
- 利用反馈字段给帝国cms添加留言板功能(图文教程)
帝国cms的插件中提供信息反馈字段,很多人却不会用.这里谢寒教大家如何来给自己的帝国cms网站添加留言板功能 1.找到添加地址 2.添加字段 3.你可以在字段中添加多种字段类型(有文本域,单行文本框, ...
- 滚动条QScroolBar实现滚屏功能(屏幕过大,覆盖wheelEvent来处理滑轮事件)
环境:Qt5 编译器:Qt Creator 需求:如图 显示区域win 600*300 需要显示的Widget控件show 590*550 则有600*250的show界面无法显示 使用滑块控制sho ...
- C#获取桌面壁纸图片的路径(Desktop Wallpaper)
原文 C#获取桌面壁纸图片的路径(Desktop Wallpaper) 利用 Windows 的 API 获取桌面壁纸的实际路径,使用的是 SystemParametersInfo 这个API,此AP ...
- CentOS 6.4下Squid代理服务器的安装与配置,反向代理
CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...
- BZOJ 1008 越狱 (组合数学)
题解:正难则反,从总数中减去全部相邻不相同的数目就是答案,n*(n-1)^(m-1):第一个房间有n中染色方案,剩下m-1个房间均只有n-1种染色方案,用总数减就是答案. #include <c ...
- python(进程池/线程池)
进程池 import multiprocessing import time def do_calculation(data): print(multiprocessing.current_proce ...
- codeigniter IE浏览器下无法登录的解决的方法
站点搬迁到新的server后,CI 框架做的站点IE浏览器下无法登录.登录时候採用CI自带的SESSION机制,事实上是以COOKIE保存. 网上搜索到IE浏览器不支持域名存在- _. 不是这个原因, ...
- [置顶] JDK-CountDownLatch-实例、源码和模拟实现
Conception A synchronization aid that allows one or more threads to wait until a set of operations b ...
- c语言实现tree数据结构
该代码实现了tree的结构.依赖dyArray数据结构.有first一级文件夹.second二级文件夹. dyArray的c实现參考这里点击打开链接 hashTable的c实现參考这里点击打开链接 ...
微博










