File selectedFile=new File("要读取的文件");
FileReader fr=new FileReader(selectedFile);
BufferedReader br=new BufferedReader(fr);int n=0;
String str;
br.(0);
while((str=br.readLine())!=null)
                               {
                                  
                                      n++;//获取文件的行数                           
                                  
                               }
br.reset();for(int i=0;i<10;i++)
{
   str=br.readLine();
   System.out.println(str);
}我想在读完文件后重新定位到文件起始位置,然后读取文件的前10行数据,打印输出,怎么实现? 用上面的方法我试了好像不行,怎么实现啊?....
有没有什么方法可以定位到起始位置。谢谢了!

解决方案 »

  1.   

    public void (int readAheadLimit)
              throws IOException标记流中的当前位置。对 reset() 的后续调用将尝试将该流重新定位到此点。 覆盖:
    类 Reader 中的 
    参数:
    readAheadLimit - 在仍保留该标记的情况下,对可读取字符数量的限制。在读取此数量的字符后,尝试重置流可能会失败。限制值大于输入缓冲区的大小将导致分配一个新缓冲区,其大小不小于该限制值。因此应该小心使用较大的值。 
      

  2.   

    直接while循环里面打印前面10行不就可以了吗
      

  3.   

    建议使用RandomAccessFile,,seek(0)方法