这个功能可以用流做到吗

2019-08-03 08:37:29 +08:00
 hkitdog
原始文件 01 有 9G 多,补丁文件 02 是 200MB。我想把 200MB 的补丁插入到文件 01 偏移 400MB 的位置..
如果可以的话可否说下如何实现
3731 次点击
所在节点    Go 编程语言
10 条回复
SuperMild
2019-08-03 08:46:20 +08:00
开个新文件,读取并写入 400MB, 读取并写入 200MB, 读取并写入剩余数据。
CEBBCAT
2019-08-03 09:00:33 +08:00
dd ?
loading
2019-08-03 09:14:23 +08:00
自带的 io 库就可以了
Mazexal
2019-08-03 10:38:25 +08:00
不太容易实现, 你弄了流之后, 怎么知道插哪一个 bit 后面呢?
hkitdog
2019-08-03 10:44:30 +08:00
@Mazexal 对啊,如果前面计算读了多少?
hkitdog
2019-08-03 10:45:28 +08:00
@hkitdog 如何
dbskcnc
2019-08-03 11:52:20 +08:00
这个 mmap 最方便了

https://github.com/edsrzf/mmap-go
nifury
2019-08-03 12:54:08 +08:00
所以……这是和看雪是同一人吗..

这个问题我之前也碰到过,感觉没有什么特别好的办法,windows 下或许可以尝试稀疏文件 /操作 NTFS 结构
反正我最后选择了 1L 的做法
reus
2019-08-03 13:35:39 +08:00
os.File 有个 Seek 方法
oahebky
2019-08-03 19:32:10 +08:00
从首页看点进来的。
所以我要说 Python mmap 库可以不要怪我。
网上 mmap 库的用法看看就知道该怎么写了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588699

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX