首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

一个2G的文本文件,怎么实现所有内容的完全颠倒

2012-02-20 
一个2G的文本文件,如何实现所有内容的完全颠倒?一个2G的文本文件,如何实现所有内容的完全颠倒?一个2G的文

一个2G的文本文件,如何实现所有内容的完全颠倒?
一个2G的文本文件,如何实现所有内容的完全颠倒?

一个2G的文本文件,要求不使用中间临时文件,如何实现所有内容的完全颠倒?(行也颠倒过来,每行字符都颠倒过来)

比如文件内容如下:

abcde
12345
你们好

实现内容完全颠倒后:

好们你
54321
edcba

不使用中间文件,就是说只能在内存中读写该文件,但是文件有2G,超过一般内存。如何实现之?请使用Java或C++或其他都可。谢谢!

[解决办法]
你可以跑到文件指定位置,再读入buffer大小的文件,然后写文件,用append方式。然后循环...
[解决办法]
2G.....再unix系统空闲的时候用shell硬导
[解决办法]
你可以看《windows高级编程指南》,里面内存映射文件那章,讲得十分清楚了。

[解决办法]
CSDN好讨厌!半夜不能回贴。

很简单的方法.
以下描述假定文件大小刚好是 32K的倍数

1. 取出首16K,颠倒字节顺序
2. 取出尾16K,颠倒字节顺序
3. 将颠倒的首16K写到文件尾
3. 将颠倒的尾16K写到文件首

4. 对文件的剩余内容做同样处理直到全部完成。

热点排行