在java中,如何将内存中的数据结构直接导出到一个文件中

来源:百度知道 编辑:UC知道 时间:2024/05/01 07:05:11
我们作业是编写一个简单的搜索引擎,需要用到hashmap来存储检索条目,请问如何将这个存在内存中的数据结构直接导出,保存在一个文件中(就是保存文件用时最短),以便下次程序启动时可以载入该文件来进行索引查询。(不使用第三方工具,只能是java标准库,不牵扯操作系统底层)

用ObjectOutputStream

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.*;

public class test {
public static void main(String[] args) throws Exception {
Map map = new HashMap();
map.put("1", "test1");
map.put("2", "test2");
map.put("3", "test3");
map.put("4", "test4");
//写对象
FileOutputStream fos = new FileOutputStream(new File("test.txt"));//声明要写入的文件
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject(map);

//读对象
FileInputStream fis = new FileInputStream(new File("test.txt"));
ObjectInputStream in = new ObjectInputStream(fis);
HashMap target = (HashMap)in.readOb