---
title: 'Vergleich von HTML-Dateien mit Daisy Diff'
url: 'https://tutego.de/blog/javainsel/2009/07/vergleich-von-html-dateien-mit-daisy-diff'
markdown: 'https://tutego.de/blog/javainsel/2009/07/vergleich-von-html-dateien-mit-daisy-diff.md'
date: '2009-07-14'
description: 'In meiner Seminarverwaltungssoftware können Trainer die Seminarbeschreibungen ändern. Natürlich möchte ich mitbekommen, welche Stellen geändert wurden und das am Liebsten hübsches aufbereitet. Da bin ich auf http://code.google.com/p/daisydiff/ gestoßen. Man kann entweder über die Kommandozeile arbe…'
taxonomy:
  category:
    - 'Open Source'
---

# Vergleich von HTML-Dateien mit Daisy Diff

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Vergleich von HTML-Dateien mit Daisy Diff

14.07.2009 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

In meiner Seminarverwaltungssoftware können Trainer die Seminarbeschreibungen ändern. Natürlich möchte ich mitbekommen, welche Stellen geändert wurden und das am Liebsten hübsches aufbereitet. Da bin ich auf [http://code.google.com/p/daisydiff/](http://code.google.com/p/daisydiff/ "http://code.google.com/p/daisydiff/") gestoßen. Man kann entweder über die Kommandozeile arbeiten oder mit einer Hilfsklasse, wobei zwei Klassen einen ersten Anhaltspunkt für die API geben:

- [http://code.google.com/p/daisydiff/source/browse/trunk/daisydiff/src/java/org/outerj/daisy/diff/Main.java](http://code.google.com/p/daisydiff/source/browse/trunk/daisydiff/src/java/org/outerj/daisy/diff/Main.java "http://code.google.com/p/daisydiff/source/browse/trunk/daisydiff/src/java/org/outerj/daisy/diff/Main.java")
- [http://code.google.com/p/daisydiff/source/browse/trunk/daisydiff/src/java/org/outerj/daisy/diff/DaisyDiff.java](http://code.google.com/p/daisydiff/source/browse/trunk/daisydiff/src/java/org/outerj/daisy/diff/DaisyDiff.java "http://code.google.com/p/daisydiff/source/browse/trunk/daisydiff/src/java/org/outerj/daisy/diff/DaisyDiff.java")

Ein kleines Beispiel soll das Diff in HTML-Form in den Temp-Ordner C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\ schreiben:

```java
package com.tutego.traida;

import java.awt.Desktop;
import java.io.File;
import java.io.FileWriter;

import org.outerj.daisy.diff.Main;

public class DaisyDiffDemo
{
```

public static void main( `String`\[\] args ) throws `Exception`

```java
 {
 String html1 = "Eine zwei Polizei";
 String html2 = "Eins zwei drei Polizei";

 File fileIn = File.createTempFile( "daisyin", ".html" );
 File fileOut = File.createTempFile( "daisyout", ".html" );
 File fileDiff = File.createTempFile( "daisydiff", ".html" );
 new FileWriter( fileIn ).append( html1 ).close();
 new FileWriter( fileOut ).append( html2 ).close();

 String[] daisyDiffArgs = {
```

`fileIn.getAbsolutePath()`, `fileOut.getAbsolutePath()`, „–file=“+`fileDiff.getAbsolutePath()`

```java
 };
 Main.main( daisyDiffArgs );

 fileIn.deleteOnExit();
 fileOut.deleteOnExit();
 Desktop.getDesktop().open( fileDiff );
 }
}
```

Das generierte HTML greift auf allerlei Zeugs zurück. Damit die HTML-Datei gut angezeigt wird, einfach aus dem Zip die Order css, images und js in das temp-Verzeichnis C:\\Users\\CHRIST~1\\AppData\\Local\\Temp kopieren. Dann sieht das Ergebnis so aus:

![sshot-1](http://lh6.ggpht.com/_gE1YIJtpGBw/SlyhVrbjORI/AAAAAAAAALA/rUahIFqNsWI/sshot-1%5B5%5D.png?imgmax=800 "sshot-1")

Kategorien: [Open Source](https://tutego.de/blog/javainsel/category/open-source/)

## 2 Kommentare

**Tool to compare HTML files and produce report in HTML or XML format - Tutorial Guruji** · [30.10.2021 16:59](#comment-931326)

\\\[…\\\] (see DaisyDiff examples) or java api. See Main Class and DaisyDiff Class to get you going. Here is a blogpost (in german) with some snippet generating a html \\\[…\\\]

**Vaibhav** · [25.09.2013 08:59](#comment-4906)

Hello. This looks good but when I tried the code, I am continuously getting the following error and unable to understand why? Please help: ``` java.lang.NullPointerException at org.apache.xalan.processor.TransformerFactoryImpl.newTransformerHandler(TransformerFactoryImpl.java:701) at org.outerj.daisy.diff.XslFilter.xsl(Unknown Source) at com.PB.automation.Main.main(Main.java:124) ``` This line gives the error: ```java ContentHandler postProcess = htmlOut ? filter.xsl( result, "xslfilter/htmlheader.xsl" ) : result; ``` Please help out.

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Mit GPL-Tools von COBOL nach Java migrieren](https://tutego.de/blog/javainsel/2009/07/mit-gpl-tools-von-cobol-nach-java-migrieren.md)
- Next: [EventBus Version 1.3](https://tutego.de/blog/javainsel/2009/07/eventbus-version-1-3.md)
