title: How Can I Reset The File Pointer to the Beginning of the File in Java?
body: <p>I am writing a program in Java that requires me to compare the data in 2 files. I have to check each line from file 1 against each line of file 2 and if I find a match write them to a third file. After I read to the end of file 2, how do I reset the pointer to the beginning of the file? </p>
  
  <pre><code>public class FiFo {
      public static void main(String[] args) 
      {
          FileReader file1=new FileReader("d:\\testfiles\\FILE1.txt");
          FileReader file2=new FileReader("d:\\testfiles\\FILE2.txt");
          try{
              String s1,s2;
              while((s1=file1.data.readLine())!=null){
                  System.out.println("s1: "+s1);
                  while((s2=file2.data.readLine())!=null){
                      System.out.println("s2: "+s2);
                  }
              }
              file1.closeFile();
              file2.closeFile();
          }catch (IOException e) {
              e.printStackTrace();
          }
      }
  }
  
  class FileReader {
      BufferedReader data;
      DataInputStream in;
  
      public FileReader(String fileName)
      {
          try{
              FileInputStream fstream = new FileInputStream(fileName);
              data = new BufferedReader(new InputStreamReader(fstream));
          }
          catch (IOException e) {
              e.printStackTrace();
          }
      } 
  
      public void closeFile()
      {
          try{
              in.close();
          }
          catch (IOException e) {
              e.printStackTrace();
          }
      }
  }
  </code></pre>