• java把对象数组存入文件中再还原来


    这种情况必须用到对象的序列化。

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.OutputStream;
    import java.io.Serializable;
     
    /**
     * 你这种情况必须用到对象的序列化
     * @author QUAN
     *
     */
    public class Test
    {
        /**
         * 保存对象
         * @param obj
         * @throws IOException
         */
        public static void saveObject(Object obj) throws IOException
        {
            File file = new File("D:/test/file.ser");
            if (!file.exists())
            {
                file.getParentFile().mkdirs();
                file.createNewFile();
            }
            OutputStream os = new FileOutputStream(file);
            ObjectOutputStream oos = new ObjectOutputStream(os);
            oos.writeObject(obj);
            oos.close();
        }
     
        /**
         * 读取对象
         * @return
         * @throws IOException
         * @throws ClassNotFoundException
         */
        public static Object readObject() throws IOException,
                ClassNotFoundException
        {
            InputStream is = new FileInputStream("D:/test/file.ser");
            ObjectInputStream ois = new ObjectInputStream(is);
            Object obj = ois.readObject();
            ois.close();
            return obj;
        }
     
        public static void main(String[] args)
        {
            Plane p = new Plane();
            p.setId(1);
            p.setName("MH370");
     
            Plane p1 = new Plane();
            p1.setId(2);
            p1.setName("Air Plane One");
     
            Plane[] fly = { p, p1 };
             
            try
            {
                saveObject(fly);
                 
                Plane[] result = (Plane[])readObject();
                 
                for(Plane e : result)
                {
                    System.out.println("id:" + e.getId() + "\t" + "name:" + e.getName());
                }
                 
            }
            catch (IOException e)
            {
                e.printStackTrace();
            } 
            catch (ClassNotFoundException e)
            {
                e.printStackTrace();
            }
     
        }
    }
     
    class Plane implements Serializable
    {
        /**
         * 
         */
        private static final long serialVersionUID = 6865564924659901756L;
     
        private int id;
     
        private String name;
     
        public int getId()
        {
            return id;
        }
     
        public void setId(int id)
        {
            this.id = id;
        }
     
        public String getName()
        {
            return name;
        }
     
        public void setName(String name)
        {
            this.name = name;
        }
     
    }
    

      转自:java把对象数组存入文件中再还原来_百度知道 (baidu.com)

  • 相关阅读:
    如何学习自动化测试?
    Jenkins中,执行py文件,python找包的路径(找不到自定义包的问题解决)
    数据库的架构设计
    iOS密码框的实现方式
    UISearchController 的大坑
    <第三方>TGRefreshO按照QQ的刷新方式下拉刷新
    关于项目颜色和字体的宏定义
    <iOS 导航栏>第一节:导航栏透明方法实现代码
    <iOS小技巧>UIview指定设置控件圆角
    关于这次KPL春季决赛的感悟
  • 原文地址:https://www.cnblogs.com/wwssgg/p/16132154.html
Copyright © 2020-2023  润新知