ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
482
482
EMPFEHLEN
-
Nicht gleich schimpfen, aber ich hab gegoogelt und im Forum gesucht, aber nichts passendes gefunden.
Folgendes:
Ich habe eine Textdatei, in der ich einen bestimmten Text-Baustein auslesen will. Sieht so aus:
;-------------------------
;_____Muh //Die __ sind Leerzeichen
;-------------------------
Muh macht die Kuh!
Die Kuh macht Muh!
;-------------------------
;___Ende Muh
;-------------------------
Ich habe mir das jetzt folgendermaßen gedacht:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
FileInputStream inputstream=new FileInputStream(DateiChooser.uebergabe); InputStreamReader reader=new InputStreamReader(inputstream); BufferedReader bff=new BufferedReader(reader); String line = bff.readLine(); while line != null{ String vergleich = bff.readLine(); if(vergleich.contains(";") && vergleich.contains("Muh")){ // So, und jetzt will ich aber nicht nur diese Zeile auslesen: ;_____Muh, // sondern AB der Zeile zuvor (;-------------------------) // bis zur letzten Zeile des Textblocks: (;-------------------------) // (nach der ;___Ende Muh Zeile // Und das ganze soll am besten in einen String, Vector, Arraylist oder sonstiges. }
Kann mir jemand helfen?
mfg Maddin
-
Hallo,
Du könntest doch gleich die gesamte Textdatei (also den kompletten Inhalt) als String auslesen und diesen dann mit dem StringTokenizer passend zerlegen.
Hoffe, ich hab das richtig verstanden...
Gruß,
Martin
-
Hört die Schleife überhaupt jemals auf?
Auf line steht immer die erste Zeile, und die neuen Zeilen schreibst du dann ja auf vergleich. Und line wird nie geupdatet, also steht steht da immer nur das selbe drauf.
Das auch gleich mal als Antwort, warum die erste Zeile nicht gelesen wird
Also du hast da dieses File, und daraus willst du nur einen Block auslesen. Dann würd ich das so, oder so ähnlich machen:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
FileInputStream inputstream=new FileInputStream(DateiChooser.uebergabe); InputStreamReader reader=new InputStreamReader(inputstream); BufferedReader bff=new BufferedReader(reader); String line = ""; String matchText = "Muh"; //Der Text nachdem gesucht wird String textFound = ""; while((line = bff.readLine())!=null) { if(line.contains(mathText) textFound = matchText; } if(textFound != null) System.out.println("Text gefunden: " + textFound); else System.out.println("Text wurde nicht gefunden!"); bff.close();
-
Moin zusammen!
Aaahh, jetzt weiß ich wo die NullPointerException herkam - Danke!
Das eigentliche Problem konnte ich aber bisher noch nicht lösen.
Nur mal so ein Gedanke: Wie wäre es mit einem Counter?
Also im Pseudo-Code etwa so:
// Bla bla bla BufferedReader usw.
int muhcount=0;
if(vergleich.startswith(";_____Muh ")){
do while(!vergleich.startswith(";___Ende Muh")){
muhcount++;
}
String temptext= readline(muhcount=1) bis (muhcount.größteZahl - 1)
Dann hätte ich den Textblock zwischen den ;----------------------------,
also:
Muh macht die Kuh!
Die Kuh macht Muh!
String textblock = ";-------------------------\n;_____Muh \n;-------------------------\n" + temptext + ";-------------------------\n;___Ende Muh\n;-------------------------"
Versteht ihr, was ich meine? Ist selbst für mich ein wenig verwirrend. Tja....Montag Morgen eben..
mfg Maddin
-
06.09.10 10:46 #5onlyfoo-na Tutorials.de Gastzugang
Was fürn Bogus, und Java-(Pseudo-)Code ist das auch nicht
Code java:1 2 3 4 5 6 7 8
boolean save = false; while((line = readline()) != null) { if(line.startsWith("__Start")) save = true; if(save) result += line; if(line.startsWith("__End")) break; } close();
So ungefär gehst du da ran.
-
@onlyfoo-na
Danke, hat funktioniert.
Manchmal sollte man einfach pragmatischer denken.
mfg
Maddin
Ähnliche Themen
-
Text in Textblock ausrichten?
Von unrealzero_php im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 29.08.07, 22:32 -
Bestimmten Text aus Datei auslesen und in eine andere Schreiben
Von wissensdurstxxl im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 08.08.07, 10:03 -
Datei nach einem bestimmten Schema auslesen
Von dark_mascot im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 03.02.05, 14:17 -
Bestimmten ListIndex auslesen?
Von Janares im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 26.04.03, 19:12 -
auslesen von bestimmten ....
Von origin^sad im Forum PHPAntworten: 4Letzter Beitrag: 05.08.02, 15:02





Zitieren
Login




