Portal > Foren > Java > Allgemeine Java-Programmierung > JAVA: Dateivergleich Zeilenweise (HILFE!)
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 11.01.2008, 13:00 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 11.01.2008
Beiträge: 4
Standard JAVA: Dateivergleich Zeilenweise (HILFE!)

Hallo zusammen.

Ich stehe vor folgendem Problem und bin froh über jede Hilfe die ihr mir geben könnt.

Ausgangslage:

Ich habe 2 Dateien (egal ob textdatei oder source-code datei, etc.)
Diese sollen verglichen werden und es soll ausgegeben werden, wieviele Zeilen sich geändert haben, wievele Zeilen gelöscht und wieviel Zeilen neu hinzugefügt wurden. Einfach leere Zeilenumbrüche sollten ignoriert werden und nicht als neue Zeilen o.ä. zählen.


Datei 1 hat folgenden Inhalt (nur Beispiel Text

Datei-Anfang-------------------------------------------------------
Hans Muster hat ein Haus.
Peter sitzt vor dem Computer.

Fritz geht in die Schule.
Remo kauft sich ein rotes Auto.
Datei-Ende----------------------------------------------------------


Datei 2 hat folgenden Inhalt (nur Beispiel Text

Datei-Anfang-------------------------------------------------------
Hans Muster hat ein HAUSTIER.

Fritz geht in die Schule.


Remo kauft sich ein rotes Auto.
Margrit hat blonde Haare.
Datei-Ende----------------------------------------------------------


-> Vergleiche nun Datei 1 mit Datei 2
Folgende Werte sollten ausgegeben werden:
1 Zeile wurde geändert.
1 Zeile wurde gelöscht.
1 Zeile wurde neu hinzugefügt.

Im realen Einsatz haben die Dateien einige Zeilen mehr.
Kann mir jemand helfen wie ich das in JAVA realisieren kann?

Herlichen Dank für die Hilfe.
mfg sven
gschwandl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2008, 14:16 Nach oben    #2
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Zitat:
Zitat von gschwandl Beitrag anzeigen
Kann mir jemand helfen wie ich das in JAVA realisieren kann?
Helfen: Ja
Vorlage zum Abschreiben: Nein.

Woran genau hapert es denn? Wie weit bist du? Und ist das beispielsweise eine schulische Aufgabe, bei der du das selber machen sollst oder willst/kannst du auf eine fertige Bibliothek zurückgreifen. Da gibt es nämlich einiges, Stichwort für Goole: Diff.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2008, 15:43 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 11.01.2008
Beiträge: 4
Standard

Zitat:
Zitat von mepeisen Beitrag anzeigen
Zitat:
Zitat von gschwandl Beitrag anzeigen
Kann mir jemand helfen wie ich das in JAVA realisieren kann?
Helfen: Ja
Vorlage zum Abschreiben: Nein.

Woran genau hapert es denn? Wie weit bist du? Und ist das beispielsweise eine schulische Aufgabe, bei der du das selber machen sollst oder willst/kannst du auf eine fertige Bibliothek zurückgreifen. Da gibt es nämlich einiges, Stichwort für Goole: Diff.
Ne, keine schulische Aufgabe, nur ein Zusatz welchen ich in einem kleinen Projekt integrieren möchte, welches schlussendlich codezeilen änderung von release zu release aufzeigen soll.

Leider kenn ich mich in JAVA noch nicht wirklich gut aus.
Was vorhanden ist, is bereits ein Normales auflisten und Zeilen zählen (exkl. kommentar-zeilen) von allen files in einem Verzeichnis.

Was meinst du mit dem Stichwort "diff." ?

Geändert von gschwandl (11.01.2008 um 15:45 Uhr)
gschwandl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2008, 15:47 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.369
Standard

Zitat:
Zitat von gschwandl Beitrag anzeigen
Was meinst du mit dem Stichwort "diff." ?
Er meint damit, dass es bereits Software gibt, die genau das kann und macht, was du machen möchtest.
Um derartiges als Hilfe zu finden kannst du das Stichwort diff bei einer Suchmaschine deiner Wahl nutzen.

diff ist ein tool unter Linux, das genau das macht.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2008, 15:50 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 11.01.2008
Beiträge: 4
Standard

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Zitat:
Zitat von gschwandl Beitrag anzeigen
Was meinst du mit dem Stichwort "diff." ?
Er meint damit, dass es bereits Software gibt, die genau das kann und macht, was du machen möchtest.
Um derartiges als Hilfe zu finden kannst du das Stichwort diff bei einer Suchmaschine deiner Wahl nutzen.

diff ist ein tool unter Linux, das genau das macht.
Ah ach so, ok.
Danke.
Ja es gibt auch unter windows solche software - nur sind solche nicht integrierbar. Darum muss ich selbst ein "modul" schreiben welches dies kann und beispielsweise resultate in der datenbank ablegt für die weiterverwendung.
gschwandl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2008, 18:46 Nach oben    #6
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

http://www.incava.org/projects/java/...iff/index.html
http://www.bmsi.com/java/#diff

Die kannst du prima einbetten.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2008, 11:00 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 11.01.2008
Beiträge: 4
Standard

Zitat:
Zitat von pago Beitrag anzeigen
Vielen Dank, dass ist genau so etwas was ich mir vorgestellt habe.
Ich habe mir den GNU Diff for Java (http://www.bmsi.com/java/#diff) angeschaut, und ausprobiert.
Zurück gibt mir dieser die Zeile.
Wie kann ich den umbauen, bzw. nur das "DiffPrint.java" damit mir die Anzahl Geänderter / bearbeiteter und hinzugefügter Zeilen als Zahl zurück kommt?

Bin leider nicht weit gekommen, da ich wie gesagt auch ein "Newbie" in JAVA bin...

Ich möchte nur 3 Resultate zurück bekommen;
Geänderte Zeilen:
Gelöschte Zeilen:
Neu hinzugefügte Zeilen:

Kann mir da jemand weiterhelfen?

schonmal vielen dank für die bisherigen tipps.
gschwandl ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Java braucht unsere Hilfe Ben Interessante Diskussionsthemen 3 04.06.2006 21:20
Java Script Hilfe!!! (Platzierung eines Link) Gamesagent JavaScript und AJAX 3 08.01.2006 04:54
HILFE!!!! kein plan von Java, muss aber eine belegarbeit machen :(( Bäumchen Desktop-Applikationen und Grafik 44 30.05.2005 21:38
[BUCH] Java ist auch eine Insel kampet Literatur 5 22.02.2005 14:40
Zwist um Java als Open Source kampet Nachrichten 0 05.07.2004 03:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45