社区
Java SE
帖子详情
高分帖:一个2G的文本文件,如何实现所有内容的完全颠倒?
Devidzhang
2006-09-25 03:15:31
一个2G的文本文件,要求不使用中间临时文件,如何实现所有内容的完全颠倒?(行也颠倒过来,每行字符都颠倒过来)
比如文件内容如下:
abcde
12345
你们好
实现内容完全颠倒后:
好们你
54321
edcba
不使用中间文件,就是说只能在内存中读写该文件,但是文件有2G,超过一般内存。如何实现之?请使用Java或C++解答。谢谢!
...全文
2567
49
打赏
收藏
高分帖:一个2G的文本文件,如何实现所有内容的完全颠倒?
一个2G的文本文件,要求不使用中间临时文件,如何实现所有内容的完全颠倒?(行也颠倒过来,每行字符都颠倒过来) 比如文件内容如下: abcde 12345 你们好 实现内容完全颠倒后: 好们你 54321 edcba 不使用中间文件,就是说只能在内存中读写该文件,但是文件有2G,超过一般内存。如何实现之?请使用Java或C++解答。谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
49 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beikexp
2006-09-28
打赏
举报
回复
linux 下如何搞?
simon11111122222
2006-09-28
打赏
举报
回复
标记一下
wxwx110
2006-09-27
打赏
举报
回复
严重同意把显示器倒 过来
Richard_Hong
2006-09-27
打赏
举报
回复
嗯,不错,好题
ystruggle
2006-09-27
打赏
举报
回复
能不能在文件的一行上作文章,
读一行,推一行/
菜鸟想滴
ziseshatan
2006-09-27
打赏
举报
回复
学习了
flushtime
2006-09-27
打赏
举报
回复
我晕,楼主去看看Thinking Java中的IO部分吧。
里面的 内存映射文件 就可以满足楼主的要求。
Devidzhang
2006-09-26
打赏
举报
回复
这个的确要用到内存映射文件来处理,在《windows核心编程》里面找到答案了。凡是提到这个的都可以得分。
比较遗憾的是我说了那么多,很多朋友没有看懂题目就开始回答问题,呵呵,希望大家都有所提高。
msn365
2006-09-26
打赏
举报
回复
1.4新增的NEWIO里面有操作大文件的类,比如RandomAccessFile,建议楼主看看文档应该不能解决
quicklight
2006-09-26
打赏
举报
回复
我觉得可以在内存当中设置两个同样大小的缓冲区,比如是16k,第一次从开头读取一页,并颠倒,然后从结尾读取一页并颠倒,然后将颠倒好的开头一页写入结尾,并从结尾往上移动一页在读取并颠倒一页,之后跳转到开头,每次都是读取一页,并写入前一页,这样文件当中跳转的次数会降低一些,性能会好些
唐竹
2006-09-26
打赏
举报
回复
写个专门读文件的底层系统
凡是读这个文件的
就倒着读
......
可能最快了吧
flyingbird110
2006-09-26
打赏
举报
回复
本人 的 想法和gongzhy(2369) 的相同
kingofworl
2006-09-26
打赏
举报
回复
(*_*)
leopard7
2006-09-26
打赏
举报
回复
开2个线程,第一个线程从文件头读取buf个字符,然后对buf做颠倒,这个楼主已经实现,颠倒完成后往文件尾前buf个字符的地方开始写。另一个线程从文件尾读取buf个字符,然后颠倒,颠倒完成写文件头。这个要注意的是线程同步问题,在线程1/2未完成字符读取的时候,线程2/1不能写文件。就这两个线程交替,直到转换完
joy1982109
2006-09-26
打赏
举报
回复
新建个临时文件,用RandomAccessFile直接seek到文件尾,按行写倒临时文件,倒读完后,删除此文件,把临时文件改名为此文件
------------------------
要求不使用临时文件的
要不然谁都会了
gongzhy
2006-09-26
打赏
举报
回复
新建个临时文件,用RandomAccessFile直接seek到文件尾,按行写倒临时文件,倒读完后,删除此文件,把临时文件改名为此文件
endisoft
2006-09-26
打赏
举报
回复
啊,my god,2G
还没试过能不能打开
估计倒成了,也不知道有没有成功
wood542344
2006-09-26
打赏
举报
回复
把显示器倒过来是个逆天级的好办法
射天狼
2006-09-26
打赏
举报
回复
建议用内存映射文件,否则这么大的文本文件,根本打不开!
═══════════════════
免费的源码、工具网站,欢迎大家访问!
http://www.j2soft.cn/
═══════════════════
jason1019
2006-09-26
打赏
举报
回复
把显示器倒过来不就得了...^_^
加载更多回复(29)
自己动手
实现
netty4
1. 从0开始编写netty4,更详细了解netty的架构思路和编写历程 2. 真正看netty源码无障碍 3. 学习看源码思考方式 4.帮助面试获得
高分
Jmeter基础篇(06):Jmeter适配
高分
辨率屏幕
Jmeter适配
高分
辨率 笔者最近在做压测时遇见
一个
问题,当我在4K屏上打开Jmeter的时候,会看到所有的文字,图标都变得特别小,基本上是原来的1/4,就算戴着放大镜也看不清楚。这要如何解决呢?三步: 1 编写批处理文件 新建
一个
名为“适配
高分
辨率.txt”的文本文档,在其中写入如下代码: echo off set FILE_NAME=jmeter.properties echo . echo . echo language=zh_CN>> %FILE_NAME% echo jmeter.hi
从文件中读取学生成绩并输出 C语言
题目 设存储在D盘根目录下的
文本文件
score.dat中记录着学生的姓名和成绩,每一行表示
一个
学生的信息,包括学生姓名(姓名中不存在空格等特殊符号)和成绩,它们之间用制表符(\t)分隔,例如: zhangsan 84.5 lisi 78 wangwu 65.5 maliu 90 请针对该文件写
一个
程序,该程序的功能是计算所有学生的平均成绩,并输出其中成绩 最高的...
实战经验:新手如何从零设计
实现
一个
游戏Demo?
在前一段时间的实习面试过程中,“设计者思维”是
一个
反复提到的词,好几个面试官都指出了“如果要成为
一个
优秀的策划,那么需要跳出玩家思维,转变为设计者思维”。在后续看了一些游戏设计方面的书籍例如《Game Development Essentials: Gameplay Mechanics》后,感觉要获得“设计者思维”,最好的方式还是自己要实际设计、
实现
一个
小游戏,那怕只是
一个
Demo性质的Mini ...
微信跳一跳技术手段
高分
秘籍:不仅可以用 Python 刷分,竟然还可以直接改分
程序员头条(ID:CoderTop) 报道微信跳一跳不仅可以用 Python 刷分,竟然还可以直接改分最近这两天,从微信最新版内测开始,微信小程序的游戏:跳一跳,可以说是火爆了微信好友圈。这个游戏有意思的地方就是有好友圈排行,今天猿妹就是来告诉你,如何才能获取
高分
,如何才能占据朋友圈榜首。一、游戏攻略拿
高分
普通版本的
高分
秘籍是这样的:如果你每次都能挑到各自的正中间的话,可以 + 2 分,如果连着跳
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章