java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

java 将对象写入文件进行保存和读取

java可以将序列化以后的对象存入文件中,比如HashMap, 然后还能读出来。对于一些做高速缓存的项目非常有用,比如你从数据库读取了一个分类,希望以后就不要从数据库读取了,从文件读取。那么这种办法非常有用。

如果一个对象没有被序列化,那么无法存入,所以对象必须是序列化的

package com.javaer.examples.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;

public class StoreFileObject {
	//java serialize a object to file	
	public static void writeObject(String path,Object map) throws IOException{
		File f=new File(path); 
		FileOutputStream out=new FileOutputStream(f); 
		ObjectOutputStream objwrite=new ObjectOutputStream(out);
		objwrite.writeObject(map);
		objwrite.flush(); 
		objwrite.close(); 
	}
	
	// read the object from the file
	public static Object readObject(String path) throws IOException, ClassNotFoundException{		
		FileInputStream in=new FileInputStream(path); 
		ObjectInputStream objread=new ObjectInputStream(in);
		Object map=objread.readObject();		
		objread.close();
		return map;
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {		
		HashMap h = new HashMap();
		h.put("name", "walter");
		try {
			StoreFileObject.writeObject("/my.db", h);
		} catch (IOException e) {			
			e.printStackTrace();
		}
	}

}


This entry was posted in JAVA and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/java-save-object/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

One Response to java 将对象写入文件进行保存和读取

  1. ommhy says:

    请问 读入泛型Map 怎么办呢,因为写入的是object类型

Leave a Reply