有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中遍历属性文件中的值

所以我想知道是否有人知道我将如何从一个键中读取多个值,用逗号分隔它们,并将它们从java中的属性文件存储到arraylist中


我有一个属性文件,其中只包含以下内容:

currentProposalsLocation = C:/Documents and Settings/Intern Project/Extracted Items
keywordsList = "A,B,C,D,E,F"


这是我加载属性文件的代码:

    static String proposalsDirectory;
    static ArrayList<String> keywordsList = new ArrayList<String>();
    private static final String PROP_FILE="C:/Documents and Settings/Intern Project/ipConfig.properties";

public static void readPropertiesFile()
{
     try
    {
         InputStream is = XMLTagParser.class.getResourceAsStream(PROP_FILE);
         Properties prop = new Properties();
         prop.load(is);
         proposalsDirectory = prop.getProperty("currentProposalsLocation");
         //?????What to do here????
         is.close();
    }
    catch(Exception e)
    {
         System.out.println("Failed to read from " + PROP_FILE + " file.");
    }
}

如果有人能帮我,我会非常感激


共 (4) 个答案

  1. # 2 楼答案

    Properties扩展HashTable实现Map,因此可以使用keySet()Set<String>的形式获取所有密钥

    任何属性值都是字符串。可以在给定分隔符的情况下拆分字符串

    如果你问如何将该对象添加回属性,答案是“你不能”。属性使用字符串键和字符串值。如果想要多映射行为(字符串键、列表值),就必须实现自己的行为

  2. # 3 楼答案

    keywordsList.addAll(Arrays.asList(prop.getProperty("keywordsList").split(","));
    

    应该有用

  3. # 4 楼答案

    只需添加另一个选项,就可以在XML文件中设置属性,使用Spring Dependency Injection将它们加载到java代码中的对象中,然后随心所欲地操作它们

    注意:使用依赖项注入,您可以直接在XML中将该列表设置为列表,这样您甚至不必将逗号分隔的字符串转换为列表