日期:2014-05-20  浏览次数:20775 次

readLine()是循环地往下读取行数据,怎么样才能在读取的过程中返回到首行呢,我不想重复打开和关闭文件
重复关闭跟打开文件来重新读取的方法太慢了
求解

------解决方案--------------------
你的需求算是对文件随机存取。那可以考虑RandomAccessFile。
当然了,它肯定要比顺序读取的其他方式慢一些。快于重新打开。
如果你的文件很大的话,那还可以考虑用java.nio里提供的方式。
------解决方案--------------------
所谓随机存取只是个名称,本质就是指文件读取指针可以向回走。
------解决方案--------------------
晕,这样不大好,你要实现的是同一文件中的反复循环读取吧,如果不涉及内容变更,当然是读一遍后放在数组里反复操作(这个要跳到哪一行都很容易),哪有还浪费io资源反复消耗的道理。如果要更改的话,反复更改也还是在内存中做才对,io是。
------解决方案--------------------
io是能早释放就早释放的。
------解决方案--------------------
建议用数组
------解决方案--------------------
看了半天都没看懂楼主要做什么。。。
------解决方案--------------------
建议用2到3个数组,两个文件先读到内存数组中,然后释放io,处理,得到要写入的文件内容的数组,再次使用io写入新的文件。
这是比较一般的做法,不过还要具体看很多情况的。

------解决方案--------------------
我感觉你好像在做模拟数据库的操作,我最近也在做这个东西。
其实关键是你的文件到底有多大?如果不大几兆以内,读到内存里然后再反复操作就挺好的。如果有可能会比较大,还是用nio比较好,nio本质也是建立内存与硬盘存储的映射关系,只不过很多东西都写好了比较方便。
------解决方案--------------------
我觉得,第一次读的时候你为什么不存在内存里呢? :如果你还要顺序读第二遍第三遍的话