社区
其它技术问题
帖子详情
windows下怎么快速修改大文件?
Athrob
2011-03-26 10:47:16
怎么能快速在一个超大文件前面插入一小段数据
比如在一个1G的文件前面插入2M数据,时间不超过10秒
如果read然后 write到新文件也太慢了
用内存映射好像没办法改变大小?
有没有比较快速的办法?
...全文
283
15
打赏
收藏
windows下怎么快速修改大文件?
怎么能快速在一个超大文件前面插入一小段数据 比如在一个1G的文件前面插入2M数据,时间不超过10秒 如果read然后 write到新文件也太慢了 用内存映射好像没办法改变大小? 有没有比较快速的办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Athrob
2011-03-27
打赏
举报
回复
看来直接操作大文件快速添加删除数据是行不通了.只有自己定义个索引表然后处理了.
结贴了.
Athrob
2011-03-26
打赏
举报
回复
[Quote=引用 13 楼 lactoferrin 的回复:]
它是内存映射复制文件,并在新文件添加内容,一个快字也没有
[/Quote]
晓得了,那看来修改大文件要么就用read+write重新写出一份
要么就直接在原文件尾部添加了.
Lactoferrin
2011-03-26
打赏
举报
回复
它是内存映射复制文件,并在新文件添加内容,一个快字也没有
Athrob
2011-03-26
打赏
举报
回复
[Quote=引用 9 楼 lactoferrin 的回复:]
引用 7 楼 plwxbm 的回复:
引用 6 楼 lactoferrin 的回复:
内存映射并不能增加存取硬盘的速度,只是某些情况下能更好的管理文件缓冲区,有很多人说内存映射是操作内存,绕过了硬盘io,这是完全错误的
所以那个1G的映射直接转到新文件去也不会有什么好处,且内存映射不是针对把大文件扫描一遍的操作
那到底有什么办法可以快速修改一个大文件在其前面插入部分数据?
没……
[/Quote]
那看来是没办法了.那网上写的利用内存映射快速修改大文件,在前面插入1段数据有啥用.
链接:http://www.vckbase.com/document/viewdoc/?id=1831
Lactoferrin
2011-03-26
打赏
举报
回复
创建文件和删除文件是快的,因为只需操作较少的数据,无需处理文件的数据部分
Athrob
2011-03-26
打赏
举报
回复
[Quote=引用 8 楼 lthyxy 的回复:]
1G,10秒.
[/Quote]
我记得有次我用文件映射瞬间创建了一个1G大小的文件,当然内容是随机的.
pps的临时文件应该也是这个原理吧.
只不过我忘了当时具体怎么弄的了.
Lactoferrin
2011-03-26
打赏
举报
回复
[Quote=引用 7 楼 plwxbm 的回复:]
引用 6 楼 lactoferrin 的回复:
内存映射并不能增加存取硬盘的速度,只是某些情况下能更好的管理文件缓冲区,有很多人说内存映射是操作内存,绕过了硬盘io,这是完全错误的
所以那个1G的映射直接转到新文件去也不会有什么好处,且内存映射不是针对把大文件扫描一遍的操作
那到底有什么办法可以快速修改一个大文件在其前面插入部分数据?
[/Quote]
没有,文件的存储结构决定这样做是一般不可行的,必须把后面的数据整体移位
对于数据大小是簇大小的整数倍的可以,但是这是特殊情形,操作系统也就没有支持
liutengfeigo
2011-03-26
打赏
举报
回复
1G,10秒.
Athrob
2011-03-26
打赏
举报
回复
[Quote=引用 6 楼 lactoferrin 的回复:]
内存映射并不能增加存取硬盘的速度,只是某些情况下能更好的管理文件缓冲区,有很多人说内存映射是操作内存,绕过了硬盘io,这是完全错误的
所以那个1G的映射直接转到新文件去也不会有什么好处,且内存映射不是针对把大文件扫描一遍的操作
[/Quote]
那到底有什么办法可以快速修改一个大文件在其前面插入部分数据?
Lactoferrin
2011-03-26
打赏
举报
回复
内存映射并不能增加存取硬盘的速度,只是某些情况下能更好的管理文件缓冲区,有很多人说内存映射是操作内存,绕过了硬盘io,这是完全错误的
所以那个1G的映射直接转到新文件去也不会有什么好处,且内存映射不是针对把大文件扫描一遍的操作
Athrob
2011-03-26
打赏
举报
回复
我在想是不是可以创建一个空白文件的内存映射,这个空白文件初始化为新的大小(可以预算)
然后那个1G的映射直接转到新文件去?与1M的合并?
还是没思路 脑袋乱乱的
Athrob
2011-03-26
打赏
举报
回复
比如原文件1G 要在任意地方(不是末尾)插入1M的数据.
用内存映射好像只能映射原文件大小吧.不能增加长度.
插入后原文件就变为1.01G了.或者将两个文件合并为新文件也可以,但是速度要快.
Lactoferrin
2011-03-26
打赏
举报
回复
往后添加数据方便,但是往前添加数据就麻烦
我现在只想到直接操作文件系统底层结构的方法
c_losed
2011-03-26
打赏
举报
回复
只想到内存映射
分段读取也可以考虑
c_losed
2011-03-26
打赏
举报
回复
用内存映射好像没办法改变大小?
可以的
WizTree_3.19:
快速
高效硬盘大
文件
查找工具
本文还有配套的精品资源,点击获取 简介:数字化时代用户常面临硬盘空间不足的问题。WizTree是一款为
Windows
用户设计的免费软件,以
快速
扫描和高效性能帮助用户找到占用大量空间的大
文件
。WizTree通过直接访问NTFS索引的方式
快速
分析
文件
系统,能够迅速列出所有
文件
和
文件
夹的大小信息。软件界面简洁明了,支持按
文件
大小排序,搜索特定
文件
,并提供
文件
的最后
修改
日期、
文件
类...
如何
快速
制作
Windows
启动盘:绕过硬件限制的终极方案
想要在Mac电脑上
快速
制作
Windows
启动盘,还能绕过
Windows
11的TPM和Secure Boot硬件限制吗?WinDiskWriter为你提供了完美的解决方案。这款专为macOS设计的
Windows
启动盘制作工具,不仅支持UEFI和Legacy BIOS双启动模式,还能轻松绕过微软的硬件限制要求,让你在任何电脑上都能安装最新版
Windows
。 ## 🖥️ 为什么需要WinDiskW
终极指南:如何在macOS上
快速
制作
Windows
启动盘并绕过TPM限制
WinDiskWriter是一款专为macOS用户设计的免费开源
Windows
启动盘制作工具,通过直观的图形界面帮助您轻松创建兼容UEFI和Legacy BIOS的
Windows
安装U盘。这款工具特别解决了
Windows
11的TPM和安全启动限制问题,让老旧设备也能顺利安装最新系统。 ## 🎯 项目价值主张:解决
Windows
安装的核心痛点 对于macOS用户来说,制作
Windows
启动盘
Windows
记事本的用途
场景推荐工具理由临时记个电话、想法记事本打开最快,轻便,不打扰写一篇带排版、图片的论文/报告需要丰富的格式功能编辑系统配置
文件
、脚本、代码记事本(轻度)或Notepad++/VS Code(专业)需要纯文本环境,专业编辑器有语法高亮、代码折叠等功能,效率更高查看或编辑大型日志
文件
专门为大
文件
优化,不会卡死清除复文字中的格式记事本是完美的“格式清理中转站”总而言之,
Windows
记事本是一个“简单到极致”的工具。它的强大之处恰恰在于它的简单——专注于纯文本,这使得它在特定场景下是不可替代的利器。
工具的使用——
windows
操作系统的使用(二)
工具的使用——
windows
操作系统的使用 (1)域名解析
文件
的位置:C:/
Windows
/System32/drivers/etc/hosts (2)
windows
7 启动屏幕保护程序【桌面右键】⇒ 【个性化】 ⇒ 【屏幕保护程序】 (3)Linux vs
Windows
关于分区(a)
Windows
将硬盘看做“C盘”、“D盘”几个独立的分区不同 (b)Linux将整个
文件
系统看做一棵树,这棵树的
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章