读入常量#java的文件

时间:2016-11-21 16:21:03

标签: java class data-files

我想读取一个数据文件,该数据文件有多个常量用于我的程序(例如MAXARRAYSIZE)。
然后我想通过输入类似于:ConstantsClassName.MAXARRAYSIZE的东西来在程序中的任何地方访问这些常量。我该如何实现这个类?

从数据文件中分配后,这些常量将永远不会在程序执行期间再次更改值。

感谢。

2 个答案:

答案 0 :(得分:0)

ConstantsClassName类中使用静态块。

public class ConstantsClassName{
    public static final  String MAXARRAYSIZE;
    static{
        // read your file and store the data in;
        MAXARRAYSIZE = valueRetrievedFromFile;
    }
}
如果遵循常规声明的Java约定,

MAXARRAYSIZE应为MAX_ARRAY_SIZE

答案 1 :(得分:0)

如果你的文件中有很多常量,你可以使用下面的代码片段:

public static final HashMap<String, String> keyValues = new HashMap<>();
static{
    BufferedReader br = null;
    String line = null;
    try{
        br = new BufferedReader(new FileReader("datafile.txt"));
        while((line=br.readLine())!=null){
            //if Constant name and Value is separated by space
            keyValues.put(line.split(" ")[0], line.split(" ")[1]);
        }
    }catch(IOException e){
        e.printStackTrace();
    }
}

现在使用keyValues HashMap获取常量的值,如

  

keyValues.get(&#34; MAXARRAYSIZE&#34);

通过这种方式,您不必为多个常量定义多个常量变量,只有keyValues HashMap足以存储所有常量及其值。希望它有所帮助。