<dependency> <groupId>com.googlecode.java-diff-utils</groupId> <artifactId>diffutils</artifactId> <version>1.2.1</version> </dependency>
2. Test Class
package com.citi.ocean.metadata.util; import java.io.File; import java.io.IOException; import java.util.List; import org.apache.commons.io.FileUtils; import org.junit.Test; import difflib.Delta; import difflib.DiffRow; import difflib.DiffRowGenerator; import difflib.DiffUtils; import difflib.Patch; import difflib.DiffRow.Tag; public class CompareTest { @Test public void testCompare() throws IOException { List<String> original = FileUtils.readLines(new File("src/test/properties/etl_org.sql")); List<String> revised = FileUtils.readLines(new File("src/test/properties/etl_change.sql")); Patch patch = DiffUtils.diff(original, revised); for (Delta delta : patch.getDeltas()) { List<?> list = delta.getRevised().getLines(); for (Object object : list) { System.out.println(object); } } DiffRowGenerator.Builder builder = new DiffRowGenerator.Builder(); builder.showInlineDiffs(false); DiffRowGenerator generator = builder.build(); for (Delta delta : patch.getDeltas()) { List<DiffRow> generateDiffRows = generator.generateDiffRows((List<String>) delta.getOriginal().getLines(), (List<String>) delta .getRevised().getLines()); int leftPos = delta.getOriginal().getPosition(); int rightPos = delta.getRevised().getPosition(); for (DiffRow row : generateDiffRows) { Tag tag = row.getTag(); if (tag == Tag.INSERT) { System.out.println("Insert: "); System.out.println("new-> " + row.getNewLine()); System.out.println(""); } else if (tag == Tag.CHANGE) { System.out.println("change: "); System.out.println("old-> " + row.getOldLine()); System.out.println("new-> " + row.getNewLine()); System.out.println(""); } else if (tag == Tag.DELETE) { System.out.println("delete: "); System.out.println("old-> " + row.getOldLine()); System.out.println(""); } else if (tag == Tag.EQUAL) { System.out.println("equal: "); System.out.println("old-> " + row.getOldLine()); System.out.println("new-> " + row.getNewLine()); System.out.println(""); } else { throw new IllegalStateException("Unknown pattern tag: " + tag); } } } } }