0
我写了下面的程序作为一个快速实验使用他们的MD5哈希斯卡拉文件散列
import java.nio.file.{Files, Paths}
import java.security.MessageDigest
object Test {
def main(args: Array[String]) = {
val startTime = System.currentTimeMillis();
val byteArray = Files.readAllBytes(Paths.get("/Users/amir/pgns/bigPGN.pgn"))
val endTime = System.currentTimeMillis();
println("Read file into byte " +byteArray+ " in " + (endTime - startTime) +" ms");
val startTimeHash = System.currentTimeMillis();
val hash = MessageDigest.getInstance("MD5").digest(byteArray)
val endTimeHash = System.currentTimeMillis();
System.out.println("hashed file into " +hash+ " in " +(endTime - startTime)+ " ms");
}
}
进行重复数据删除的文件,我注意到,当我的PGN文件大约为1.5 GB的文本数据,它大约需要2.5秒来读取文件,2.5秒来散列它。
我的问题是,如果我有大量的文件,是否有更快的方法来做到这一点?
这种方法似乎可以减少我盒子上的总时间50%!很酷,谢谢。 –