当前位置: 首页 > article >正文

I/O流综合练习题

(1)要编写一个dog.properties
name=tom
age=5
color=red
(2)编写Dog 类(name,age,color)创建一个dog对象,读取dog.properties 用相应的内容完
成属性初始化,并输出
(3)将创建的Dog 对象 ,序列化到 文件 dog.dat 文件

package chapter19.Properties;

import org.junit.Test;

import java.io.*;
import java.util.Properties;

/**
 * @Author Java顶针
 * @Version 1.0
 */
public class Homework {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        Properties properties = new Properties();
        properties.setProperty("name","TOM");
        properties.setProperty("age","5");
        properties.setProperty("color","red");
        //写入信息到文件
        properties.store(new FileOutputStream("src/dog.properties"),null);
        System.out.println("写入成功");
        //读取信息
        BufferedReader brr = new BufferedReader(new FileReader("src/dog.properties"));
        Dog dog = new Dog(properties.getProperty("name"), Integer.parseInt(properties.getProperty("age")), properties.getProperty("color"));
        System.out.println("读取成功");
        String decPath = "D:/javaTest/dog.dat";
        ObjectOutputStream obj = new ObjectOutputStream(new FileOutputStream(decPath));
        obj.writeObject(new Dog(dog.getName(), dog.getAge(),  dog.getColor()));
        obj.close();
        brr.close();



    }
    @Test
    public void readDog() throws IOException, ClassNotFoundException {//读取序列化对象
        String decPath = "D:/javaTest/dog.dat";
        ObjectInputStream obj = new ObjectInputStream(new FileInputStream(decPath));
        Object o = obj.readObject();
        Dog dog = (Dog) o;
        System.out.println("读取成功:\n"+"name:"+dog.getName()+"\n"+"age:"+dog.getAge()+"\n"+"color:"+dog.getColor());
    }
}
class Dog implements Serializable {
    private String name;
    private int age;
    private String color;

    public Dog(String name, int age, String color) {
        this.name = name;
        this.age = age;
        this.color = color;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", color='" + color + '\'' +
                '}';
    }
}


http://www.kler.cn/a/415777.html

相关文章:

  • 【数据资产】数据资产管理体系概述
  • SpringBoot整合Validation数据校验
  • 【无标题】多模态对齐
  • 我的工作知识总览
  • MCU跨领域融合的风向标是什么?
  • (四)Spring Boot学习——整合修改使用druid连接池
  • 摄影相关常用名词
  • springboot343大学生选修选课系统的设计与实现(论文+源码)_kaic
  • 物联网环境中NDN协议的性能比较分析
  • CQ 社区版 2024.11 | 新增“审批人组”概念、可通过SQL模式自定义审计图表……
  • 详解登录MySQL时出现SSL connection error: unknown error number错误
  • 网络安全、Web安全、渗透测试之笔经面经总结(三)
  • net9 abp vnext 多语言通过数据库动态管理
  • Ubuntu安装不同版本的opencv,并任意切换使用
  • 从单一设备到万物互联:鸿蒙生态崛起的未来之路
  • 【0346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)
  • 代码随想录算法训练营第五十七天|Day57 图论
  • python学习——字典的创建与删除
  • 容器第二天(day039)
  • 05.ES9 06.ES10
  • 深入理解Rust的生命周期
  • ArcGIS 软件中路网数据的制作
  • Argon2-cffi与argon2-cffi-bindings:深入理解及其应用
  • SOLIDWORKS英文,怎么修改成中文
  • 【嵌入式C语言】关键字之类型修饰符
  • 高效数据集成:旺店通与金蝶云自动化处理调拨出库单