【发布时间】:2016-07-04 13:57:33
【问题描述】:
我想比较 2 个或更多文本文件以查找重复条目。 O/P 应该说文件中的那些行是否匹配。
我想将 File 1 的每一行与 File 2 的所有行进行比较(即,将 File 1 的 line-1 与 File 的所有行进行比较2)。 当我运行以下代码时,将文件 1 的第 1 行与文件 2 的所有行进行比较,然后程序被终止。
注意:我尝试了 Danail Alexiev 的想法(见答案)但循环无限运行,(也没有跳到文件 1 的 2 行,无限在文件 1 的第 1 行上循环文件 2 的所有行)
以下文件
文件1:内容
21321sc231231a23d1a32df1adfsdfsdfsd
fsdfs4dfs
dfsdf
3sd1f
sdfs4df3s
df0
sd4f
sdf
sdf1
3sdf
sdfs4df6s
fs1df
3sdfsd
fs.d1f
s3d1
sdf1s
df1
sdf1sdf
文件 2:内容
21321sc231231a23d1a32df1adfsdfsdfsd
fsdfs4dfs
dfsdf
3sd1f
sdfs4df3s
df0
sd4f
sdf
sdf1
3sdf
sdfs4df6s
fs1df
3sdfsd
fs.d1f
s3d1
sdf1s
df1
sdf1sdf
代码:
while ((sCurrentLine1 =file1.readLine()) != null )
{
while ((sCurrentLine2 =file2.readLine()) != null )
{
if(sCurrentLine1.equalsIgnoreCase(sCurrentLine2))
{
System.out.println("=---Matched----=" + sCurrentLine1 + " -->" + sCurrentLine2);
}
else
{
System.out.println("=---Not Matched----=" + sCurrentLine1 + " -->" + sCurrentLine2);
}
}
}
O/P:
=---匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->1321sc231231a23d1a32df1adfsdfsdfsd =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->fsdfs4dfs =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->dfsdf =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->3sd1f =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sdfs4df3s =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->df0 =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sd4f =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sdf =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sdf1 =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->3sdf =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sdfs4df6s =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->fs1df =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->3sdfsd =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->fs.d1f =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->s3d1 =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sdf1s =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->df1 =---不匹配----=1321sc231231a23d1a32df1adfsdfsdfsd -->sdf1sdf
【问题讨论】:
-
因此,您从第一个文件中读取第一行,然后将其与第二个文件中的每一行进行比较。然后你继续到第一个文件的第二行并将它与...进行比较...什么?您已经到达第二个文件的末尾。
-
您将 file1 的第一行与 file2 的每一行进行比较。自然,第一个比较返回“匹配”,而其他比较不返回。
-
请用示例更新您的问题。为 File1 和 File2 提供一个简单的示例,以及您希望在比较过程中发生什么。我认为我们都很难理解您要完成的工作
-
更新了问题
标签: java file compare filecompare