View Javadoc
1   package de.juplo.test;
2   
3   import java.io.BufferedReader;
4   import java.io.File;
5   import java.io.FileNotFoundException;
6   import java.io.FileReader;
7   import java.io.IOException;
8   
9   
10  public class FileComparator
11  {
12    private final File basedir;
13    private BufferedReader expectedReader;
14    private BufferedReader foundReader;
15  
16    public FileComparator(File basedir)
17    {
18      this.basedir = basedir;
19    }
20  
21    public boolean isEqual(final String expectedFile, final String foundFile)
22      throws
23        FileNotFoundException,
24        IOException
25    {
26      File file;
27      String expected, found;
28  
29      file = new File(basedir, expectedFile);
30      expectedReader = new BufferedReader(new FileReader(file));
31  
32      file = new File(basedir, foundFile);
33      foundReader = new BufferedReader(new FileReader(file));
34  
35  
36      while ((expected = expectedReader.readLine()) != null)
37      {
38        found = foundReader.readLine();
39        if (!expected.equals(found))
40        {
41          System.err.println("Mismatch!");
42          System.err.println("Expected: " + expected);
43          System.err.println("Found:    " + found);
44          return false;
45        }
46      }
47  
48      if ((found = foundReader.readLine()) != null)
49      {
50        System.err.println("Found more content than expected!");
51        System.err.println("Starting with: " + found);
52        return false;
53      }
54  
55      return true;
56    }
57  }