Java 从正在处理的配置文件中检索信息

Java 从正在处理的配置文件中检索信息,java,processing,Java,Processing,我现在正在做第二个更大的编程项目,我被卡住了。我正在为这个项目使用处理 我试图做的是使用java.util.Properties类的实例从包含以下行的外部文本文件中检索信息(用于将特定调色板分配给水平条形图的各个“行”): formating = p;p;n;n 我用于导入的代码段如下所示(使用名为“Import”的类处理BufferedInputStream等): 下一步从文本文件中读取“formating”行,并将其放入一个四元素字符串数组中,使用分号作为分隔符 String[] form

我现在正在做第二个更大的编程项目,我被卡住了。我正在为这个项目使用处理

我试图做的是使用java.util.Properties类的实例从包含以下行的外部文本文件中检索信息(用于将特定调色板分配给水平条形图的各个“行”):

formating = p;p;n;n
我用于导入的代码段如下所示(使用名为“Import”的类处理BufferedInputStream等):

下一步从文本文件中读取“formating”行,并将其放入一个四元素字符串数组中,使用分号作为分隔符

String[] formating = properties.getProperty("formating").split(";");
我希望这个字符串数组与我在源代码中使用以下方法创建的字符串数组相同:

String[] formating2 = {"p", "p", "n", "n"};
但事实并非如此。它已经尝试了很多事情,包括在字符串数组的每个元素中检查不需要的字符(例如空格),将文本文件或用于比较的字符转换为Unicode,将字符串数组的元素转换为字符

我似乎无法进行以下比较:

for(int i=0;i < formating.length;i++){
println(formating[i]==formating2[i]);
}
for(int i=0;i
对于for循环的每次迭代都返回“false”

我相信这只是一些新手犯的错误,但如果有人能给我指出正确的方向,那就太好了。提前谢谢


尼克

使用==比较字符串是不安全的,因为字符串可能是不同的对象,并且比较它们时,无论它们是否包含相同的“文本”,都不会比较文本,而是比较对象。所以,你应该这样尝试:

println(formating[i].equals(formating2[i]));
或者,如果希望避免空间和选项卡过多,也可以执行以下操作:

println(formating[i].trim().equals(formating2[i].trim()));
println(formating[i].trim().equals(formating2[i].trim()));