问题是这样的,我用BufferedReader读一个文档,用lineData = in.ReadLine();的方法往下读文件,但是我想回到已经读过的位置重新读一遍该怎么办?比如,我现在已经读到12行,要回过头重读5行的内容,该怎么写,我实在找不到方法,谢谢大家

解决方案 »

  1.   

    Stream和Reader、Writer应该都不支持往回退回去读写的。解决方案只有你自己做一个缓冲区,比如一个ArrayList<String>,保存过去几次的读取内容,然后不断删除最旧,插入最新。缓冲区保留多少取决于你需要退回多少。如果需要退回非常多,那么劝你,还是设计吧。
      

  2.   

    可以使用java.io.RandomAccessFile来完成.
    具体接口看jdk文档.
      

  3.   

    RandomAccessFile怎么做?
    难道要自己写代码找\n?还把它们的位置记录下来??我建议你还是把读入的行放入一个List中,这样找起来更方便