Java - 如何将属性文件读入数组

时间:2015-04-23 07:25:19

标签: java properties properties-file

全部 - 我是java的新手。所以需要一些帮助或代码 属性文件的位置 test.properties 100 200 300 400

我想把它读成一个数组,这样我得到的输入数据,我可以检查它是否在数组中。

如果id = 100或id = 200或id = 300 {然后做一些事情}其他{做某事或什么都不做},我实际上可以硬编码。

我能够找到它的答案:在这里添加代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;

public class read_properties_into_array {

    private static List<String> sensitivePropertiesList=new ArrayList<String>();
    public static void main(String[] args) {
        try {
            File file = new File("test.properties");
            FileInputStream fileInput = new FileInputStream(file);
            Properties properties = new Properties();
            properties.load(fileInput);
            fileInput.close();

            Enumeration enuKeys = properties.keys();
            while (enuKeys.hasMoreElements()) {
                String key = (String) enuKeys.nextElement();
                sensitivePropertiesList.add(new String(key));
                //String value = properties.getProperty(key);
                //System.out.println(key);
            }
            System.out.println("hi I am here");
            System.out.println("lenght of list:"+sensitivePropertiesList.size());

            for(int i=0;i<sensitivePropertiesList.size();i++)
            {
                System.out.println(sensitivePropertiesList.get(i));
            }
            System.out.println("Check if 100 it exists.");
            if (sensitivePropertiesList.contains("100"))
            {

                System.out.println(" 100 it exists.");
            }
            else 
            {
                System.out.println(" 100 Does not exist.");
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

如果使用eclipse,请在java项目级别添加test.properties文件。

Test.properties
100
200
300

2 个答案:

答案 0 :(得分:1)

虽然您的问题不明确,但我认为您不需要属性类来读取数组。您将key=value对放在属性文件中。

您应该首先使用java IO读取文件,然后将所有值放在一个数组中,最后迭代该数组并检查您的值。

在这里检查一些代码: https://stackoverflow.com/a/7705672/841221

答案 1 :(得分:0)

如果您不使用Java @(Html.Kendo().Window() .Name("win1") .Title("default") .LoadContentFrom("Index", "default") .Draggable() .Resizable() .Actions(actions => actions.Close().Minimize().Refresh()) .Position(p => p.Top(100)) ) 文件,而是使用

test.properties

Properties

您可以将所有行读入100 200 300 并稍后在该列表中使用。

List