我想比较第一个文件的每一行与第二个文件的全部内容并打印匹配结果。 我使用这段代码,但它来到其他部分,并没有给我结果。 我的文件都是这样将第一个文件的每行与java中第二个文件的全部内容进行比较
file1 - store.txt file2 - data.txt
1,CNB,1234 1001,1234
2,NCD,1567 1002,1345
3,ABC,1111 1003,1111
etc etc etc etc
我想要的结果是
CNB, 1234
ABC, 1111
这是我写的代码:
String y = ",", z = ";";
File file1 = new File("store.txt");
File file2 = new File("data.txt");
BufferedReader bfr = new BufferedReader(new FileReader(file1));
BufferedReader bfr1 = new BufferedReader(new FileReader(file2));
String name1;
String name2;
String[] f1, f2;
try{
while (bfr1.readLine() != null && bfr.readLine() != null)
{
name1 = bfr.readLine();
name2 = bfr1.readLine();
f1 = name1.split(y);
f2 = name2.split(z);
if (f1[1].equals(f2[1]))
{
//System.out.println(f1[0] + f1[1]);
for(int i=0; i < 1000;i++) {
name1 = bfr.readLine();
name2 = bfr1.readLine();
System.out.println(f1[0] + " \t here");
}
//System.out.println(f1[0] + " \t here");
// System.out.println(s1);
}
else
{
System.out.println("Not equal");
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
感谢大家的帮助! :)
这是怎么回事?..你的输出是什么? – TheLostMind
o/p后面是什么逻辑? –
'while(bfr1.readLine()!= null && bfr.readLine()!= null)'在循环的每次迭代中读取_and discards_一行。您只查看两个文件中的每一行。此外,您的程序中的逻辑是无法解读的。 –