我使用BitTorrent,有时会遇到没有种子的文件(丢失的部分)。
当时,我们有时强迫文件传输结束,并尝试打开不完整的文件(例如,图像文件)。
如果我们是幸运的,也许能够看到下载的图像,即使一些部分丢失。
我想人工复制这种情况,下面是我尝试的方法:
1)通过Linux split命令将大约1 16的bmp图像文件分割成16 16,
2)然后只生成一个被分割的文件0千字节。
3)之后,使用cat命令重新加入所有文件。
然而,在这种情况下,不像洪流的“丢失的碎片”的情况,文件变得完全损坏,无法读取。
从理论上讲,这似乎没有什么特别之处,但又有什么问题呢?我怎样才能实现我想要的呢?
我很感谢你的帮助。
发布于 2018-03-15 14:44:43
使用dd
dd if=/dev/zero of=image.jpg bs=1 conv=notrunc seek=X count=YX是要擦除的文件中的偏移量,Y是字节数。
关于损坏,它取决于文件的类型、丢失的部分以及用于读取它的程序。
例如,JPG文件使用可变位长编码,这意味着从那时起,仅仅丢失一位就可能损坏所有文件。但是仅仅是为了这一点,可以有重新同步化点来重置比特流,所以从那一点开始,文件看起来就没问题了。但是在写文件的时候,这些重新同步点是可选的,而且不是每个读者都会尊重它们。
无论如何,丢失部分标题将使文件完全不可读。
https://stackoverflow.com/questions/49300099
复制相似问题