Java:逐行读取文件

时间:2014-11-12 19:45:17

标签: java

好的,我是一个新手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”。我检查并重新检查了我的代码,但仍然无法想到我做错了什么。

道歉,如果我没有说清楚,那么请问我是否需要更好地解释!

1 个答案:

答案 0 :(得分:0)

必须使用equals方法非运算符

进行字符串比较

替换此

split[0] == property

用这个

split[0].equals(property)

尝试学习如何使用调试器,它将为您节省大量时间。