我们正在用java模拟p2p网络。因此,我们将文件分成块(带校验和),以便在我们拥有所有部分后,可以将各个块重新编译到原始文件中。在下载单个零件时,最好的方法是什么?
我在考虑将每个块存储为一个单独的文件......但如果有20000个块,则会创建尽可能多的文件。这是最好的方式吗?
由于
答案 0 :(得分:0)
将块保存在内存或文件中。这里没有太多可讨论的内容。找到块数与实际大小之间的完美比例,以满足您的需求。
文件听起来更合理,因为在应用程序崩溃的情况下数据不会完全丢失,并且可以继续下载。
答案 1 :(得分:0)
我会写入内存,直到达到某个阈值,此时你将内存转储到磁盘,并继续读入内存。文件传输完成后,您可以获取当前存储在内存中的内容,并将其与可能存储在磁盘上的内容连接起来。