T1m Geschrieben 28. November 2012 Teilen Geschrieben 28. November 2012 Guten Tag, ich bin ein Programm am schreiben, welches Datensäte aus einer Textdatei einliest. Nun will ich diese Datensätze sortieren und in einer neuen Textdatei speichern. Doch ich habe keine Ahnung wie ich die Sortierung realisieren soll. Die Datensätze haben folgendes Format: 05111000005780009 0001550310111970111604351517894612333200000011000000000000000000 05111000005780010 0001550330111987021300000000051110000000000011006120001 5506502 05111000005780011 0001550310111351351515412221051188993500000011000000000000000000 05111000005780012 0001554785111971021100000000051110000000000011000000000000000000 05111000005780014 0001550320121369258619920117091620000511100012005780014 5503201 05111000005780016 0001550320111970020100000077777777777777777774440000000000000000 Es soll nach dem Bereich, der in roter Schrift hervorgehoben ist, aufsteigend sortiert werden. Ich würde mich sehr über Hilfe freuen. Mit freundlichen Grüßen, T1m Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. November 2012 Teilen Geschrieben 28. November 2012 Scheitert es am Extrahieren des relevanten Teils aus dem String, oder am Sortieren allgemein? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T1m Geschrieben 28. November 2012 Autor Teilen Geschrieben 28. November 2012 Ich denke am Sortieren allgemein. Ich habe keine Ahnung wie ich die Zeilen nach dem relevanten Bereich sortieren kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 28. November 2012 Teilen Geschrieben 28. November 2012 Also Hier ein kleines Beispiel : public class TestDatensatz implements Comparable{ int Feld1; int Feld2; int Feld3; @Override public int compareTo(Object o) { if (o!=null && o instanceof TestDatensatz){ TestDatensatz rD0=(TestDatensatz)o; [B]if (rD0.getFeld1()<getFeld1()){ return 1; } else if (rD0.getFeld1()>getFeld1()){ return -1; }[/B] } return 0; } public int getFeld1() { return Feld1; } public void setFeld1(int feld1) { Feld1 = feld1; } public int getFeld2() { return Feld2; } public void setFeld2(int feld2) { Feld2 = feld2; } public int getFeld3() { return Feld3; } public void setFeld3(int feld3) { Feld3 = feld3; } } Was du mit diesen Datensätzen dann machen kannst ist z.B. Sie in eine List<TestDatensatz> speichern und über Collections.sort(liste); sortieren. Da gibt es dann aber auch noch Comparatoren. Aber das dir da Google nicht hilft, bezweifele ich Edit: splitte erstmal die Zeile an Hand des " " Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T1m Geschrieben 28. November 2012 Autor Teilen Geschrieben 28. November 2012 Dankesehr hbspike! Deine Antwort ist sehr hilfreich. Ich werde mir deinen Ansatz mal genauer anschauen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.