0

我想读入一个数据文件,其中包含我的程序的多个常量(例如 MAXARRAYSIZE)。
然后,我希望通过键入以下内容可以在我的程序中的任何位置访问这些常量:ConstantsClassName.MAXARRAYSIZE。我如何实现这个类?

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

谢谢。

4

2 回答 2

0

ConstantsClassName在课堂上使用静态块。

public class ConstantsClassName{
    public static final  String MAXARRAYSIZE;
    static{
        // read your file and store the data in;
        MAXARRAYSIZE = valueRetrievedFromFile;
    }
}

MAXARRAYSIZEMAX_ARRAY_SIZE如果您遵循常量声明的 Java 约定,应该是这样。

于 2016-11-21T16:24:41.080 回答
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("MAXARRAYSIZE");

这样你就不必为多个常量定义多个常量变量,只需要keyValues HashMap就足以存储所有的常量及其值。希望能帮助到你。

于 2016-11-21T16:31:37.753 回答