This repository was archived by the owner on Nov 12, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +55
-23
lines changed
Expand file tree Collapse file tree 3 files changed +55
-23
lines changed Original file line number Diff line number Diff line change 1+ package diffutils ;
2+
3+ import java .io .File ;
4+ import java .util .List ;
5+
6+ import difflib .DiffUtils ;
7+ import difflib .Patch ;
8+ import difflib .PatchFailedException ;
9+
10+ public class ApplyPatch extends Example {
11+ static final String FS = File .separator ;
12+ static final String ORIGINAL = "test" + FS + "mocks" + FS + "issue10_base.txt" ;
13+ static final String PATCH = "test" + FS + "mocks" + FS + "issue10_patch.txt" ;
14+
15+ public static void main (String [] args ) throws PatchFailedException {
16+ List <String > original = fileToLines (ORIGINAL );
17+ List <String > patched = fileToLines (PATCH );
18+
19+ // At first, parse the unified diff file and get the patch
20+ Patch patch = DiffUtils .parseUnifiedDiff (patched );
21+
22+ // Then apply the computed patch to the given text
23+ List result = DiffUtils .patch (original , patch );
24+ System .out .println (result );
25+ /// Or we can call patch.applyTo(original). There is no difference.
26+ }
27+ }
Original file line number Diff line number Diff line change 11package diffutils ;
22
3- import java .io .BufferedReader ;
43import java .io .File ;
5- import java .io .FileReader ;
6- import java .io .IOException ;
7- import java .util .LinkedList ;
84import java .util .List ;
95
106import difflib .Delta ;
117import difflib .DiffUtils ;
128import difflib .Patch ;
139
14- public class ComputeDifference {
10+ public class ComputeDifference extends Example {
1511 static final String FS = File .separator ;
16- static final String originalFilename = "test" + FS + "mocks" + FS + "original.txt" ;
17- static final String revisedFilename = "test" + FS + "mocks" + FS + "revised.txt" ;
18-
19- private static List <String > fileToLines (String filename ) {
20- List <String > lines = new LinkedList <String >();
21- String line = "" ;
22- try {
23- BufferedReader in = new BufferedReader (new FileReader (filename ));
24- while ((line = in .readLine ()) != null ) {
25- lines .add (line );
26- }
27- } catch (IOException e ) {
28- e .printStackTrace ();
29- }
30- return lines ;
31- }
12+ static final String ORIGINAL = "test" + FS + "mocks" + FS + "original.txt" ;
13+ static final String RIVISED = "test" + FS + "mocks" + FS + "revised.txt" ;
3214
3315 public static void main (String [] args ) {
34- List <String > original = fileToLines (originalFilename );
35- List <String > revised = fileToLines (revisedFilename );
16+ List <String > original = fileToLines (ORIGINAL );
17+ List <String > revised = fileToLines (RIVISED );
3618
3719 // Compute diff. Get the Patch object. Patch is the container for computed deltas.
3820 Patch patch = DiffUtils .diff (original , revised );
Original file line number Diff line number Diff line change 1+ package diffutils ;
2+
3+ import java .io .BufferedReader ;
4+ import java .io .FileReader ;
5+ import java .io .IOException ;
6+ import java .util .LinkedList ;
7+ import java .util .List ;
8+
9+ public class Example {
10+ public static List <String > fileToLines (String filename ) {
11+ List <String > lines = new LinkedList <String >();
12+ String line = "" ;
13+ try {
14+ BufferedReader in = new BufferedReader (new FileReader (filename ));
15+ while ((line = in .readLine ()) != null ) {
16+ lines .add (line );
17+ }
18+ } catch (IOException e ) {
19+ e .printStackTrace ();
20+ }
21+ return lines ;
22+ }
23+ }
You can’t perform that action at this time.
0 commit comments