首页 > 其他分享 >练习题09-Proerties、IO

练习题09-Proerties、IO

时间:2022-10-23 23:00:27浏览次数:57  
标签:练习题 java 09 PropertiesUtils io import new Proerties Properties

案例需求:
在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

相关文章

  • 练习题08File、IO
    1、创建一个文件文件中的内容是name=张三age=12pwd=234读取文件在控制台打印张三12234packagecom.xxx;importjava.io.FileInputStream;importjava.io.IOExc......
  • 练习题07File、Map
    1、请使用Map集合存储自定义数据类型Car做键,对应的价格做值。并使用keySet和entrySet两种方式遍历Map集合。packagecom.xxx;publicclassCar{privateStringna......
  • VMware Horizon 8 2209 - 虚拟桌面基础架构 (VDI) 和应用软件
    请访问原文链接:https://sysin.org/blog/vmware-horizon-8-2209/,查看最新版。原创作品,转载请保留出处。作者主页:www.sysin.orgVersion2209DocumentationRelea......
  • C语言的练习题
    有1,2,3,4四个数字,那能组成多少个互不相同且无重复数字的三位数?都是多少?分析:三位数可表示为:个位:g,十位:s,百位:b.可以有多少组合:用for语句的嵌套#include<stdio.h>intmain(......
  • 2022-2023-1 20221309《计算机基础与程序设计》第八周学习总结
    2022-2023-120221309《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>这个作业要求在哪里<作业要求的链接>https://ww......
  • Python教程Day09-字典
    字典一、应用场景​​思考1​​:如果有多个数据,例如:'Tom','男',20,如何快速存储?答:列表list1=['Tom','男',20]​​思考2​​:如何查找到数据'Tom'?答:查找到下标为0的数据......
  • 苹果iPhone 14系列拆解:APL109A/338S00942和338S00839-B0 电源管理芯片
    日前,iFixit对苹果iPhone14ProMax进行了拆解。先看主控SoC所在的主板的一面:红色:苹果A16处理器,型号为APL1W10/339S01104,64位六核CPU+五核GPU,由台积电6nm工艺代工。实际......
  • Python学习:列表和字典练习题
    找出列表list中大于100的值,给字典dic的k1键,小于等于100的值,给字典dic的k2键'''提示:创建字典的两种方式ex:'''v1=[2,3,4,5,]v2=88dic1={'k1':v1,'k2':v2,}......
  • 09-JS函数入门总结
    JS函数简单入门知识点总结1.1函数的概念函数:为完成一个操作任务而组合在一起的的语句组,实现了程序的三大逻辑(顺序、分支和循环)1.2函数的作用减少重复的代码,方便......
  • 9-09-消息队列企业级应用及原理剖析(下)_ev
                                  分布式事务场景                  ......