public static void main(String[] args) throws Exception {
String file1 = "file1.txt";
String file2 = "file2.txt";
ArrayList<String> list1 = addToList(file1);
ArrayList<String> list2 = addToList(file2);
String s1 = list1.get(0);
String s2 = list2.get(1);
if (!s1.equals(s2)){
System.out.println("不同==="+s1+"==="+s2+"===");
}
}
static ArrayList<String> addToList(String file) throws Exception {
ArrayList<String> lines = new ArrayList<>();
BufferedReader br = null;
br = new BufferedReader(new FileReader(file));
String strLine = null;
while ((strLine = br.readLine()) != null){
strLine = strLine.trim();
if ( strLine != ""){
lines.add(strLine);
}
}
return lines;
}
我一开始用你的代码测试,没有问题。
所以我认为是有不可见字符在里面导致的,我加了个7f到里面,可以看到如下:
不同===1===1===
new ArrayList<>
->
new ArrayList<String>
看下
你s1 和s2硬编码写“1”,看看进入if么
另外两个文本文件的编码是否一致,用ultraedit打开看看
楼主可以将内容复制到记事本中,或者想办法将其编码一致。