• Properties类与流的相关方法,properties的键与值都应该是字符串


    java.util.Properties 继承于Hashtable ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时,System.getProperties 方法就是返回一个Properties对象。

    /* Student.txt文件内容:
     * 刘伊=18
     * 王含=20
     * 李风风=17
     * 刘方=16
     * 马红红=20
     * 丁磊=18
     * 方影=21
     * 姚华华=20
     */
    public class Demo04 {
        public static void main(String[] args) throws IOException {
            File file = new File("Student.txt");
            File newFile = new File("newstu.txt");
    
            Properties properties = new Properties();
            FileReader fr = new FileReader(file);
            properties.load(fr);
            Set<String> names = properties.stringPropertyNames();
            FileWriter fw = new FileWriter(newFile);
            for (String name : names) {
                if (name.equals("刘方")){
                    properties.put("刘方",18);
                }
            }
            properties.store(fw,null);
    
        }
    }
    Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
        at java.util.Properties.store0(Properties.java:834)
        at java.util.Properties.store(Properties.java:771)
        at homework.Demo04.main(Demo04.java:39)
    当properties的键与值有不为String类型时,调用store方法时会出现类型不能转换为String的异常。

    properties.put("刘方",18);应改为
    properties.put("刘方","18")
  • 相关阅读:
    什么是X86和X86-64
    PyQt 5 的学习引言
    GraphQL实战篇(一)
    GraphQL基础篇
    .net之设计模式
    .net面向对象设计原则
    Entity Framework (EF) Core工具创建一对多和多对多的关系
    NLog组件
    给dao层注入jdbcTemplate时的一个强行bug(jdbcDaoSupport不要随便用!用了要记得!)
    使用工厂模式解耦和IoC思想
  • 原文地址:https://www.cnblogs.com/chenfx/p/13406888.html
Copyright © 2020-2023  润新知