我有两个非常大的文件(一个csv和一个文本文件,每个文件有100万条记录)。两者都有类似的数据,但顺序不一样。我需要使用java程序比较它们。任何人都可以建议一种有效的方法来做到这一点。
答案 0 :(得分:0)
关于巨大的大小,当你将如此庞大的内容加载到像ArrayList这样的Collection数据结构中时,你最终可能会遇到OutOfMemoryError。为避免这种情况,您可以增加运行程序的堆大小。
如果您希望在Java中完成此操作,请检查以下方法是否适合您。
Read file2 and load its records into a list.
foundCount=0
recordCount=0
Read file1.
For each record in file1
{
if(the record exists in the list)
{
foundCount++
}
recordCount++
}
if(recordCount == foundCount && recordCount == list.size())
{
file contents are same
}
else
{
file contents are different
}