现在有一个文件,使用FileInputStream新建输入流对象,怎么做到对这个文件的某一部分重复读呢?
譬如说有个FileInputStream f=new FileInputStream(“a。txt”);怎么对a。txt中的第2到第5行重复读呢?

解决方案 »

  1.   

    两个方法
    1)InputStream f=new BufferedInputStream(new FileInputStream("a.txt"),8192);
    用标记位置  用reset恢复2)RandomAccessFile f=new RandomAccessFile("a.txt","r");
    用seek定位
      

  2.   

    估计是用BufferedInputSteam 的()和 reset() 
      

  3.   

    RandomAccessFile 还是比较靠谱的。支持 L1 、L3
      

  4.   

    package com.xuz.csdn.nov29;import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;public class FileReadTest { public static void main(String[] args) {
    try {
    File file = new File("d:/a.txt");
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
    System.out.println(br.readLine());
    br.(1024);
    System.out.println(br.readLine());
    br.reset();
    System.out.println(br.readLine());
    System.out.println(br.readLine());
    br.close();
    } catch (Exception e) {
    e.printStackTrace();
    }

    }}
    瞎写的,但是好使。