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 }