zoukankan      html  css  js  c++  java
  • 反射

    反射 - IO流属性文件综合使用 -- * .properties扩展名

    自己写的代码:已试过了啊! 具体文件自己创建:

    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.InputStream;
    import java.util.Properties;
    
    public class Main{
        public static void main(String[] args) {
        Properties proper = new Properties();
        try (FileReader fr = new FileReader("C:\Users\zspt\Desktop\123.properties");){
            proper.load(fr);
            System.out.println(proper.getProperty("name"));        //找到name
            System.out.println(proper.getProperty("n","aa"));    //找不到 输出默认aa
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        }
    }

    这个用得少一点 知道就好 所以就转载了啊

    我有一个配置值的键/值对列表,我想存储为Java属性文件,然后加载和迭代。

    问题:

    我是否需要将文件存储在与将加载它们的类相同的包中,或者是否存在应放置它的任何特定位置?

    文件是否需要以任何特定扩展名结尾或.txt确定?

    如何在代码中加载文件

    我怎样才能遍历内部的值?

    #1 热门回答(233 赞)

    你可以将InputStream传递给Property,因此你的文件几乎可以在任何地方,并且可以调用任何内容。

    Properties properties = new Properties();

    try {
    properties.load(new FileInputStream("path/filename"));

    } catch (IOException e) {
    ...

    }

    迭代为:

    for(String key : properties.stringPropertyNames()) {
    String value = properties.getProperty(key);

    System.out.println(key + " => " + value);

    }

    #2 热门回答(76 赞)

    你可以将文件存储在任何你喜欢的位置。如果要将其保存在jar文件中,则需要使用Class.getResourceAsStream()或ClassLoader.getResourceAsStream()来访问它。如果它在文件系统上,则稍微容易一些。

    任何扩展都没问题,尽管.properties在我的经验中更常见

    如果你使用的是Java 6,则使用Properties.load加载文件,传入InputStream或StreamReader。(如果你使用的是Java 6,我可能会使用UTF-8和Reader而不是默认的ISO-8859 -1编码流。)

    当你遍历普通的Hashtable(属性派生自的)时,迭代它,例如,使用keySet()。或者,你可以使用propertyNames()返回的枚举。

    #3 热门回答(25 赞)

    如果将属性文件放在与Foo类相同的包中,则可以轻松加载它

    new Properties().load(Foo.class.getResourceAsStream("file.properties"))

    鉴于Properties扩展了Hashtable,你可以以与Hashtable中相同的方式迭代值。

    如果你使用* .properties扩展名,则可以获得编辑器支持,例如Eclipse有一个属性文件编辑器。
    ————————————————
    版权声明:本文为CSDN博主「深度人工智障」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_36002897/article/details/114397164

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14733950.html

  • 相关阅读:
    MySQL 和 Oracle 在 MyBatis 使用中的区别
    nodeppt:网页版 PPT
    在 sql 语句出现 warning 之后,立刻执行 `show warnings;` 就可以看到 warning 提示信息
    MySQL 列,可选择的数据类型(通过sql命令查看:`help create table;`)
    create table 推荐规则
    MySQL 中的变量:系统变量(包括:会话变量、全局变量)、用户变量(包括:局部变量、用户变量)
    MySQL 有用的查询语句
    MySQL 遇到错误集锦
    VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么?
    MySQL 的严格模式
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14733950.html
Copyright © 2011-2022 走看看