案例需求:
在Properties文件中手动写上姓名和年龄,读取到集合中,将该数据封装成学生对象,写到本地文件
实现步骤:
1.创建Properties集合,将本地文件中的数据加载到集合中
2.获取集合中的键值对数据,封装到学生对象中
3.创建序列化流对象,将学生对象序列化到本地文件中

package com.xxx;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class PropertiesUtils {
    private Properties pro;
    private static PropertiesUtils propertiesUtils;

    private PropertiesUtils() {
        try {
            pro = new Properties();
            //加载配置文件的信息到Properties对象中
            InputStream is = new FileInputStream("student.properties");
            //InputStreamReader isr = new InputStreamReader(new FileInputStream("student.properties"), "GBK");
            pro.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static PropertiesUtils getInstance() {

        if (propertiesUtils == null) {
            propertiesUtils = new PropertiesUtils();
        }
        return propertiesUtils;
    }

//定义一个方法根据键获取值

    public String getValue(String key) {
        return pro.getProperty(key);
    }

}


package com.xxx;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class TestPropertiesUtils {
    public static void main(String[] args) throws IOException {

        String name = PropertiesUtils.getInstance().getValue("name");
        String age = PropertiesUtils.getInstance().getValue("age");

        //实例化学生对象
        Student stu = new Student(name,Integer.parseInt(age));

        //实例化对象流
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("stu02.txt"));
        oos.writeObject(stu);
        oos.close();
    }
}

原文地址:http://www.cnblogs.com/wyzel/p/16819955.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性