【发布时间】:2015-08-17 05:42:15
【问题描述】:
public class comparee {
static int count=0;
public static void main(String[] args) throws IOException {
String a,b;
FileReader fi = new FileReader(new File("C:\\Users\\IBM_ADMIN\\Desktop\\SAM_PUBLIC_MONTHLY_20150802\\a.txt")); // new file
FileReader fii = new FileReader(new File("C:\\Users\\IBM_ADMIN\\Desktop\\SAM_PUBLIC_MONTHLY_20150802\\b.txt")); // new file
BufferedReader br =new BufferedReader(fi); //new
BufferedReader br1 =new BufferedReader(fii); //old
FileWriter fw = new FileWriter(new File("C:\\Users\\IBM_ADMIN\\Desktop\\SAM_PUBLIC_MONTHLY_20150802\\samnew.txt"));
int count = 0;
while((a=br.readLine()) != null)
{
while((b=br1.readLine()) != null)
{
if(!(a.equals(b)))
{
count++;
fw.write(a);
}
}
System.out.println(count);
}
}
}
您好,我正在尝试通过逐行读取来比较 a.txt 和 b.txt 中的字符串。 我想在 samdata.txt 上写一行,这在 a.txt 中不可用,但在 b.txt 中可用。将不胜感激任何帮助:) 谢谢
P.S以上代码逻辑不正确
【问题讨论】:
-
这个练习的最终目标是什么?你能简单地使用无处不在的免费命令行
diff实用程序吗? -
将这两个文件读入
Lists 和简单的removeAll一个可能更容易... -
您的文件是否已排序,以便匹配的行必须位于同一位置?或者,对于 a.txt 的每一行,b.txt 中的相应匹配项可能位于任何地方?在每种情况下,解决方案都可能完全不同