首页
社区
课程
招聘
[旧帖] [求助]写大文件(大于2G)的方法 0.00雪花
发表于: 2010-6-7 23:07 3735

[旧帖] [求助]写大文件(大于2G)的方法 0.00雪花

2010-6-7 23:07
3735
各位好,
本人遇到一个关于写文件的问题,现在的需求是这样的,对于单线程,要将一些数据写入文件,但是这些数据不是顺序的,也就是说,可能需要在1000的位置写些数据,然后可能到2000的位置写些数据,或许也可能直接到文件末尾些数据,那么对于一个有2G以上的文件,如果将文件指针遇到到2G的位置将需要花费很多的时间,可能几分钟,这样I/O就会卡住,无法进行其他操作,请问大家有什么好的方法可以解决这个问题?
谢谢

Mike

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
呵呵,分成100块,最终重组啊
2010-6-8 00:23
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好方法,学习了
2010-6-8 08:15
0
雪    币: 87
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看看有什么好的方法。。。
2010-6-8 08:30
0
雪    币: 173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看看什么东西~~
2010-6-8 08:32
0
雪    币: 780
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
嘿嘿,好多不明真相的围观群众
2010-6-8 08:36
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
什么 语言呀   易语言呀?
2010-6-8 08:40
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
文件是已经分块的了,收到的数据块包含了数据,数据写入的起始位置了,只是如果对于一个很大的文件,可能大于2G,然后你收到的数据快要写的位置刚好就是在2G的位置上面,那么这时打开文件并将文件指针移动2G的位置上将会花很长的时间。
2010-6-8 11:43
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
闪过...看看是什么
2010-6-8 11:59
0
雪    币: 54
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不断学习中
2010-6-8 12:54
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
大家都没有更好的方法了么?
2010-6-10 17:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
2楼的回答似乎有道理哦
哈哈
2010-6-10 22:05
0
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不是有个内存映射文件的方法~~百度的介绍 http://baike.baidu.com/view/394293.html?fromTaglist
我以前是看 Windows应用程序捆绑核心编程 看到的,你也可以百度看看别人的帖子~~
2010-6-11 17:07
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
和磁盘格式无关?
2010-6-14 12:22
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不可以多指针么?
2010-6-14 13:01
0
雪    币: 91
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
可以把文件分段.在文件头部建立段信息表.
2010-6-15 10:32
0
雪    币: 488
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
当然是内存映射了
2010-6-16 09:11
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
是可以通过内存映射文件的方法来实现,只是感觉每次运行后,特别是大文件,感觉系统就变慢了。
2010-6-30 14:34
0
游客
登录 | 注册 方可回帖
返回
//