使用java比较2个文件(csv和text)

时间:2016-06-05 13:49:45

标签: java regex multithreading data-structures

我有两个非常大的文件(一个csv和一个文本文件,每个文件有100万条记录)。两者都有类似的数据,但顺序不一样。我需要使用java程序比较它们。任何人都可以建议一种有效的方法来做到这一点。

1 个答案:

答案 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
}