案例需求:
在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();
}
}
标签:练习题,java,09,PropertiesUtils,io,import,new,Proerties,Properties
From: https://www.cnblogs.com/wyzel/p/16819955.html