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();
                }
        }

}

首发于http://java-er.com - http://java-er.com/blog/java-save-object/