社区
C++ 语言
帖子详情
如何删除一个大的文件(超过1G)中的某一串字符?
tiancaiak
2009-04-19 05:32:54
请问如何删除一个大的文件(超过1G)中的某一串字符?
需求是这样咧:
目前正在做客户端的更新器,需要修改客户端的现有的资源压缩包,请问可有好的办法实现?
...全文
268
14
打赏
收藏
如何删除一个大的文件(超过1G)中的某一串字符?
请问如何删除一个大的文件(超过1G)中的某一串字符? 需求是这样咧: 目前正在做客户端的更新器,需要修改客户端的现有的资源压缩包,请问可有好的办法实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tiancaiak
2009-04-21
打赏
举报
回复
算是解决了,使用的方法大致与8楼的方法相同,我用了两个文件,一个把资源文件经过是打包压缩加密的资源压缩文件,另一个是该资源压缩文件的配置文件
资源压缩文件中按顺序存放压缩加密过后的每一个资源文件,配置文件就是存资源压缩文件中每个资源文件的起始位置和压缩后大小,解压后大小,文件名子等相关信息
然后如果要删除一个文件,只要删除配置文件中该文件的信息,不删除资源压缩文件中的该文件内容
当然删除一个文件这个操作需要把配置文件先删除再创建,但是配置文件不会很大,所以这点开销还是可以接受
时间久了,资源文件中会有垃圾,可以定期重建一次
liliangbao
2009-04-19
打赏
举报
回复
分块读入,查找,写入另一个文件,如此
最后删除原有文件,将另一个文件修改为原文件名~
不知有没有更高效办法~
等高手!
alan001
2009-04-19
打赏
举报
回复
分块操作吧
tiancaiak
2009-04-19
打赏
举报
回复
是windows
ltc_mouse
2009-04-19
打赏
举报
回复
支持8楼~~
lz可以在升级时考虑把配置文件改造下,就方便后续的维护了
sherrik
2009-04-19
打赏
举报
回复
关注
fibbery
2009-04-19
打赏
举报
回复
如果是纯粹的文本文件,而且没有结构,那么这个问题很麻烦,很有可能你要另写一份文件,然后再删除旧的文件。
像这样的需要随机删除的文件最好结构化,由各种区域、单元、元素构成,对于增删该都可以针对每个元素来操作。
例如:增加,只需要在文件末尾添加元素,删除,直接对元素作删除标记,修改,随机访问元素修改内容,一般要求每一个元素的长度应该是固定的,如果是不固定的元素长度可以采用在要修改的元素上作删除标记,在增加一个新的元素到文件末尾。
长时间维护该文件后,会产生垃圾元素,可以通过一个优化程序优化文件。一定要规划你的数据、规划你的文件结构。
[Quote=引用楼主 tiancaiak 的帖子:]
请问如何删除一个大的文件(超过1G)中的某一串字符?
需求是这样咧:
目前正在做客户端的更新器,需要修改客户端的现有的资源压缩包,请问可有好的办法实现?
[/Quote]
猫已经找不回了
2009-04-19
打赏
举报
回复
楼主发完贴,还没讲清楚就隐身了?
如果是linux系统,参考这个
http://www.lslnet.com/linux/dosc1/55/linux-369728.htm
liudanking
2009-04-19
打赏
举报
回复
关注中。知道了答案啊也告诉我一下呵
tangshuiling
2009-04-19
打赏
举报
回复
[Quote=引用 1 楼 jackyjkchen 的回复:]
如果你了解文件系统,直接该文件头应该就行了,将需要删除的部分剔除到文件之外,类似于指针操作
[/Quote]
1楼想的太过简单,直接修改文件头,假设文件为1.txt,你如何修改文件头达到删除中间字串内容
liliangbao
2009-04-19
打赏
举报
回复
帮顶~
猫已经找不回了
2009-04-19
打赏
举报
回复
什么平台?要在代码段里删除文件吗?
fallening
2009-04-19
打赏
举报
回复
参考下linux下的sed
jackyjkchen
2009-04-19
打赏
举报
回复
如果你了解文件系统,直接该文件头应该就行了,将需要删除的部分剔除到文件之外,类似于指针操作
sed批量处理大txt、dat
文件
(
1G
) 比如替换某
一串
字符
串,或者
删除
一行
本文介绍了如何使用sed命令批量处理大
文件
,例如在11.sql
文件
中
将'prompt'替换为'--prompt',
删除
包含'insert into'的行。详细讲解了sed的命令行用法,包括地址、命令与选项,并给出了多个实用示例,如行
删除
、替换、追加、插入等操作。
100G大
文件
单机处理(在100G大
文件
中
找到第
一个
不重复的
字符
串,16G内存限制)
该博客介绍了如何在100GB的大
文件
中
找到第
一个
不重复的
字符
串,受到16GB内存限制。通过分析
字符
串长度和
文件
大小,决定使用long类型存储频率和位置。采用Hash函数切分
文件
并保持相同
字符
串在同一
文件
中
,以减少IO操作。最终,结合bitmap和hashmap实现高效查找,同时提出了优化方案,包括使用树或堆、改进缓冲区大小和利用双线程读写。
C语言
删除
一个
字符
串
中
的指定
字符
(字母区分大小写)
本文介绍如何在C语言
中
删除
一个
字符
串
中
的指定
字符
(区分大小写),并按照ASCII码升序排列剩余
字符
。通过双层循环比较和冒泡排序实现,不使用指针。
sed处理大txt
文件
(
1G
) 比如替换某
一串
字符
串,或者
删除
一行
本文详细介绍了SED编辑器的使用方法,包括基本命令、选项、正则表达式及实用范例,帮助读者掌握SED在文本处理
中
的强大功能。
在
1G
内存和1T
文件
中
寻找第二大
字符
串出现次数的优化算法
在大数据时代,处理海量数据面临挑战。本文针对
1G
内存和1T
文件
,设计基于分治的优化算法找第二大
字符
串出现次数。介绍了背景知识、解决方案、算法实现与优化,通过实验验证算法有效性,还分析了应用场景和局限性。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章