Java:逐行读取文件

Java:逐行读取文件,java,Java,好的,我是一名java程序员新手,我正在尝试创建一些java代码来读取我创建的配置文件,并返回结果。我会先给你代码,然后解释我想做什么: public static String read(String property, File file) throws IOException{ FileInputStream in = new FileInputStream(file); BufferedReader br = new BufferedReader(new InputSt

好的,我是一名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”。我已经检查并重新检查了我的代码,但仍然想不出我做错了什么


抱歉,如果我没有说清楚,那么一定要问我是否需要更好地解释

字符串比较必须使用equals方法not运算符完成

替换这个

split[0] == property
用这个

split[0].equals(property)

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

您的代码看起来不错,请尝试单步执行调试器,以查看问题所在,即字符串比较应使用
equals
,而不是
=
。谢谢!问题是我正在为服务器编程一个插件,我还没有找到如何调试它。应该总是有办法在本地测试您的代码,或者编写一个使用您的代码的main,或者编写单元测试