Java从文件读取字符串不等于它自己

时间:2014-07-10 20:04:05

标签: java string filepath

我是编程的新手,我不能为我的生活弄清楚为什么aa在下面不等于bb。我需要从设置的文本文件中提取文件路径字符串。我从txt文件中读取第9行作为字符串,如此获取路径:

String content = new Scanner(new File("settingsfilepath.txt")).useDelimiter("\\Z").next();
String[] textStr = content.split("\n");

aa = textStr[9];
bb = "testpath";

    if(aa.equals(bb)){
        print("Contents of both strings are same");
    }else{
        print("Contents of strings are different");
    }

print(textStr[9]);
print(bb);
打印aa is: testpath

时输出

打印bb is: testpath

时输出

结果:"Contents of strings are different"

我需要变量aa等于字符串bb,因为当我使用保存函数[savefunction(filetype,filepath);]

somesavefunction(文件类型,AA);路径错误问题

somesavefunction(文件类型,BB);这工作

有两种不同类型的字符串吗?也许我没有正确地从文本文件中读取文件路径作为字符串?我觉得很愚蠢:(我希望这个问题有道理,因为我很难在这篇文章中解释它。感谢任何和所有的帮助。

3 个答案:

答案 0 :(得分:1)

我建议你做一个

System.out.printf("aa = '%s', bb = '%s'%n", aa, bb);

我怀疑一个或两个字符串中都有空格。

答案 1 :(得分:1)

假设第9行是您想要的,您应该将aa设置为第8个数组元素,因为数组具有从零开始的索引。

aa = textStr[8];

答案 2 :(得分:1)

我怀疑你有空格,请尝试使用trim()并将条件更改为

aa.trim().equals(bb.trim())