From 86d25b5a646633c715aacd990c1a7fb018dda6b7 Mon Sep 17 00:00:00 2001 From: "dm.naumenko@gmail.com" Date: Mon, 27 Dec 2010 21:24:04 +0000 Subject: [PATCH] add examples --- .../examples/diffutils/ComputeDifference.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/examples/diffutils/ComputeDifference.java diff --git a/test/examples/diffutils/ComputeDifference.java b/test/examples/diffutils/ComputeDifference.java new file mode 100644 index 0000000..e866d81 --- /dev/null +++ b/test/examples/diffutils/ComputeDifference.java @@ -0,0 +1,44 @@ +package diffutils; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.LinkedList; +import java.util.List; + +import difflib.Delta; +import difflib.DiffUtils; +import difflib.Patch; + +public class ComputeDifference { + static final String FS = File.separator; + static final String originalFilename = "test" + FS + "mocks" + FS + "original.txt"; + static final String revisedFilename = "test" + FS + "mocks" + FS + "revised.txt"; + + private static List fileToLines(String filename) { + List lines = new LinkedList(); + String line = ""; + try { + BufferedReader in = new BufferedReader(new FileReader(filename)); + while ((line = in.readLine()) != null) { + lines.add(line); + } + } catch (IOException e) { + e.printStackTrace(); + } + return lines; + } + + public static void main(String[] args) { + List original = fileToLines(originalFilename); + List revised = fileToLines(revisedFilename); + + // Compute diff. Get the Patch object. Patch is the container for computed deltas. + Patch patch = DiffUtils.diff(original, revised); + + for (Delta delta: patch.getDeltas()) { + System.out.println(delta); + } + } +}