好的,我是一个新手java程序员,我正在尝试创建一些java代码来读取我创建的配置文件,并返回结果。我先给你代码,然后解释一下我要做的事情:
public static String read(String property, File file) throws IOException{
FileInputStream in = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
String r = "ERROR";
while ((line = br.readLine()) != null) {
if(!line.startsWith("//")){
String[] split = line.split(" ");
if(split[0] == property){
r = split[1];
}
}
}
br.close();
return r;
}
这是实际配置文件的样子,其中“hello”是属性,“world”是值:
hello world
为了解释,将所需属性作为参数,以及配置文件的位置。然后它将读取每一行(忽略“//”)并将其拆分为属性名称和值。然后,如果找到该值,则返回该值;如果找不到该属性,则返回“ERROR”。
然后我运行以下代码:
System.out.println(Property.read("hello", new File("config/confix.txt")));
但是,每次时间运行此代码时,都会打印“ERROR”。我检查并重新检查了我的代码,但仍然无法想到我做错了什么。
道歉,如果我没有说清楚,那么请问我是否需要更好地解释!
答案 0 :(得分:0)
必须使用equals方法非运算符
进行字符串比较替换此
split[0] == property
用这个
split[0].equals(property)
尝试学习如何使用调试器,它将为您节省大量时间。