最有效的方法来临时存储组成较大文件的不连续数据

时间:2017-02-14 17:14:51

标签: java file p2p

我们正在用java模拟p2p网络。因此,我们将文件分成块(带校验和),以便在我们拥有所有部分后,可以将各个块重新编译到原始文件中。在下载单个零件时,最好的方法是什么?

我在考虑将每个块存储为一个单独的文件......但如果有20000个块,则会创建尽可能多的文件。这是最好的方式吗?

由于

2 个答案:

答案 0 :(得分:0)

将块保存在内存或文件中。这里没有太多可讨论的内容。找到块数与实际大小之间的完美比例,以满足您的需求。

文件听起来更合理,因为在应用程序崩溃的情况下数据不会完全丢失,并且可以继续下载。

答案 1 :(得分:0)

我会写入内存,直到达到某个阈值,此时你将内存转储到磁盘,并继续读入内存。文件传输完成后,您可以获取当前存储在内存中的内容,并将其与可能存储在磁盘上的内容连接起来。