Textdatei nach Stichwörtern durchsuchen.

Status
Nicht offen für weitere Antworten.
D

-Dirk-

Gast
Hallo!

Ich brauch dringend Hilfe...!

Ich schreib ein Programm, das eine Textdatei zeilenweise ausliest und dann nach <start> und <stop> durchsuchen soll. Anschließend soll der gesamte Inhalt zwischen <start> und <stop> in eine neue Datei geschrieben werden. Das zeilenweise Auslesen und auch das Schreiben funtioniert wunderbar, aber wie kann ich nach dem <start> bzw <ende> suchen. Ich weiß, das es mit indexOf() und substring funktionieren müsste, allerdings bekomme ich die Fehlermeldung "Type mismatch: cannot convert from String to StringBuffer"...

Bin auch für andere Lösungsvorschläge offen...

Code:
  try {
   
   int lesen; 
   String aPattern = "<start>";
  
   
   StringBuffer sb = new StringBuffer();

   BufferedReader eingang = new BufferedReader( 
                            new InputStreamReader( 
                            new FileInputStream( "20051212.trc" ) ) ); 

   BufferedWriter ausgang = new BufferedWriter( 
                            new OutputStreamWriter( 
                            new FileOutputStream( "Trace_gefiltert.txt" ) ) ); 
   
   int index = sb.indexOf(aPattern);
   sb = sb.substring(0,index)+sb.substring(index+aPattern.length()); //Hier kommt die Fehlermeldung!
      
   while((lesen = eingang.read()) !=-1){ 
	       sb.append((char)lesen);
	       ausgang.write(lesen);
            } // ende while

Ich hoffe ihr könnt mir helfen!!!
Danke schon mal im voraus....

Gruß
 

norman

Top Contributor
ich würde sagen in etwa so:
Code:
String zeile = eingang.readLine();
String nextZeile="";
if (zeile.contains("start") {
   while (!nextZeile.contains("stop")) {
      nextZeile=eingang.readLine();
      schreibeZeileInDatei(nextZeile); // [edit][b] bzw. ausgang.write(nextZeile);[/b][/edit]
   }

wenn er "start" gefunden hat liest du solange weitere zeilen und schreibst diese in die neue txt-file, bis eine zeile "stop" enthält..
 
D

-Dirk-

Gast
Vielen Danke!

Es funtioniert aber nur zum Teil. D. h. es geht nur, wenn <start> in der ersten Zeile steht! Ein weiteres Problem ist, wenn einmal <start> und <ende> gefunden wurden, dann wird nicht mehr weiter gesucht! Es steht aber mehrmals <start> und <ende> in der Datei... Wie bekomm ich das Problem gelöst?

Gruß
 

Sky

Top Contributor
Naja, das ist auch nicht der fertige Code für dein Problem... ein bißchen musste schon noch selber machen:

Code:
LESE Datei BIS EOF {
  WENN Zeile "Start" enhält {
    SCHREIBE bis "Stop"
  }
}
 
D

-Dirk-

Gast
Danke für den Hinweis, aber ich stell mich irgendwie total doof an!!! :roll:

Es will einfach nicht so funtionieren wie ich das gern hätte

Code:
	  try {
		
		   BufferedReader eingang = new BufferedReader( 
		                            new InputStreamReader( 
		                            new FileInputStream( "20051212.trc" ) ) ); 
		
		   BufferedWriter ausgang = new BufferedWriter( 
		                            new OutputStreamWriter( 
		                            new FileOutputStream( "Trace_gefiltert.txt" ) ) ); 
		   String zeile = eingang.readLine();
		   String nextZeile = ""; 
		   
		  
		   	  while((zeile = eingang.readLine() != null)){ //an dieser Schleife verzweifele ich
		      if (zeile.contains("==== Start ====")){   	
		         while (!nextZeile.contains("==== Ende ====")){ 
		           nextZeile = eingang.readLine(); 
		           ausgang.write(nextZeile);
		           ausgang.write("\n");
		      	}// end of while
		   	   }// end of if
		   	  }// end of while outsite

Kann mir jemand sagen, was ich falsch mache???

Gruß
 

norman

Top Contributor
Code:
	  try {
		
		   BufferedReader eingang = new BufferedReader( 
		                            new InputStreamReader( 
		                            new FileInputStream( "20051212.trc" ) ) ); 
		
		   BufferedWriter ausgang = new BufferedWriter( 
		                            new OutputStreamWriter( 
		                            new FileOutputStream( "Trace_gefiltert.txt" ) ) ); 
		   String zeile = "";
		   String nextZeile = ""; 
		   
		  
		  while((zeile != null)){ //an dieser Schleife verzweifele ich
            zeile = eingang.readLine(); // <===== natürlich musst du immer bevor du nach "Start" schaust eine neue Zeile einlesen..
		      if (zeile.contains("==== Start ====")){   	
		         while (!nextZeile.contains("==== Ende ====")){ 
		           nextZeile = eingang.readLine(); 
		           ausgang.write(nextZeile);
		           ausgang.write("\n");
		      	}// end of while
		   	}// end of if
		   }// end of while outsite
..sonst schaust du jedesmal die selbe Zeile an und suchst nach "Start"
 

one44

Mitglied
Setze mal noch catch ein, dann solte es gehen:

Code:
    }catch (IOException e) {
       
     }
 
D

-Dirk-

Gast
Huch...

Ich bekomm jetzt folgende Fehlermeldung:

java.lang.NullPointerException
at java.io.Writer.write(Unknown Source)
at MyFilter2.main(MyFilter2.java:39)
 
D

-Dirk-

Gast
Ja, den Fehler hatte ich auch schon gefunden!
Es kommt aber trotzdem diese Fehlermeldung! Es ist sonst nichts unterkringelt!!!
 

norman

Top Contributor
@one44: .. und der link unterm namen verzerrt die ganze ansicht :roll:
(wundert mich, dass die spaltenbreite nicht beschränkt ist)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
izoards Textdatei Human unreadable abspeichern Java Basics - Anfänger-Themen 17
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
S Importieren einer Textdatei Java Basics - Anfänger-Themen 2
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
Jinnai4 Werte in Textdatei ändern Java Basics - Anfänger-Themen 2
JDimi Textdatei mit beliebig vielen Zeilenumbrüchen erstellen Java Basics - Anfänger-Themen 2
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
G Wert in Textdatei ersetzen? Java Basics - Anfänger-Themen 2
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
T Länge einer Textdatei Java Basics - Anfänger-Themen 11
S Übertragen einer Textdatei in ein 2d-Array Java Basics - Anfänger-Themen 2
N Integers aus Textdatei auslesen und mehrere Arrays erstellen Java Basics - Anfänger-Themen 9
T Textdatei öffnen und ans Ende scrollen Java Basics - Anfänger-Themen 11
J Textdatei filtern und bearbeiten Java Basics - Anfänger-Themen 1
C Textdatei oder doch eine Datenban Java Basics - Anfänger-Themen 15
J Input/Output Tilemap effizient speichern als Textdatei Java Basics - Anfänger-Themen 7
J Input/Output Zeile in Textdatei ändern Java Basics - Anfänger-Themen 14
M Textdatei(en) in .jar schreiben Java Basics - Anfänger-Themen 5
K Textdatei auslesen Java Basics - Anfänger-Themen 10
H Input/Output Inhalt einer GUI in Textdatei speichern Java Basics - Anfänger-Themen 1
K Erste Schritte Textdatei -> Array Java Basics - Anfänger-Themen 1
F Textdatei einlesen in ArryList (Objekte abspeichern?) Java Basics - Anfänger-Themen 4
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
G Erste Schritte Textdatei einlesen und in Array speichern Java Basics - Anfänger-Themen 5
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
L Namen aus Textdatei auslesen Java Basics - Anfänger-Themen 1
E Textdatei kopieren funktioniert nicht Java Basics - Anfänger-Themen 12
M Zweidimensionales Array aus Textdatei gewinnen Java Basics - Anfänger-Themen 6
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
S Methoden Textdatei auslesen Java Basics - Anfänger-Themen 11
G Textdatei auf Dubletten prüfen Java Basics - Anfänger-Themen 8
T Textdatei Zeile löschen? Java Basics - Anfänger-Themen 4
T Textdatei beschreiben/bearbeiten Java Basics - Anfänger-Themen 4
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
C Einlesen in Array von Textdatei sehr langsam Java Basics - Anfänger-Themen 7
R Werte in eine Textdatei schreiben Java Basics - Anfänger-Themen 20
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Textdatei in geschachtelte Array speichern Java Basics - Anfänger-Themen 17
T Scanner für große Textdatei Java Basics - Anfänger-Themen 11
A Unterschied Textdatei und Quelltextdatei Java Basics - Anfänger-Themen 5
P Input/Output Textdatei einlesen - 1. Zeichen fehlt Java Basics - Anfänger-Themen 7
J Input/Output Textdatei in einer JAR lesen Java Basics - Anfänger-Themen 3
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
S Textdatei im Internet lesen und editieren Java Basics - Anfänger-Themen 2
J Textdatei einlesen und ausgeben - NullPointerException Java Basics - Anfänger-Themen 5
M Input/Output Objekte in einer Textdatei ablegen (Highscore) Java Basics - Anfänger-Themen 9
P CSV Daten in Textdatei Speichern Java Basics - Anfänger-Themen 3
K Input/Output Eingelesenedaten von Scanner als Textdatei ausgeben? Java Basics - Anfänger-Themen 2
N Input/Output Konsolenausgabe in Textdatei speichern/umleiten Java Basics - Anfänger-Themen 7
V Auf Textdatei in jar zugreifen Java Basics - Anfänger-Themen 3
A Textdatei einlesen - erstes Zeichen falsch Java Basics - Anfänger-Themen 20
S Methoden Textdatei Teil String auslesen Java Basics - Anfänger-Themen 3
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
W letzte Zeile aus wachsender Textdatei auslesen Java Basics - Anfänger-Themen 5
algebraiker Textdatei-Import Java Basics - Anfänger-Themen 8
M Datum aus einer Textdatei holen Java Basics - Anfänger-Themen 9
C Spalte einer Textdatei einlesen Java Basics - Anfänger-Themen 10
Fab1 Input/Output Textdatei auslesen Java Basics - Anfänger-Themen 4
O grosse Textdatei performant als string speichern Java Basics - Anfänger-Themen 8
P Mit offset aus Textdatei auslesen Java Basics - Anfänger-Themen 3
C Textdatei einlesen Java Basics - Anfänger-Themen 8
V Falsches Auslesen von Textdatei Java Basics - Anfänger-Themen 3
T Input/Output 20Mb Textdatei zeilenweise auslesen Java Basics - Anfänger-Themen 10
N Textdatei lesen mit Umlauten Java Basics - Anfänger-Themen 16
N In Textdatei speichern und auslesen Java Basics - Anfänger-Themen 18
M Textdatei einlesen Java Basics - Anfänger-Themen 3
M Liste in Textdatei schreiben Java Basics - Anfänger-Themen 7
B Input/Output Textdatei einlesen Windows / Linux Java Basics - Anfänger-Themen 2
F Textdatei einlesen Java Basics - Anfänger-Themen 7
C Textdatei einlesen -> Probleme Java Basics - Anfänger-Themen 3
K Input/Output Textdatei scheibchenweise auslesen Java Basics - Anfänger-Themen 8
S Textdatei stückweise einlesen Java Basics - Anfänger-Themen 7
D 1 Wort aus TextDatei auslesen Java Basics - Anfänger-Themen 3
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
N Textdatei wird beim Speichern nicht überschrieben, sondern ergänzt Java Basics - Anfänger-Themen 4
A Double Array in TextDatei schreiben Java Basics - Anfänger-Themen 9
K Richtige Pfadangabe einer Textdatei Java Basics - Anfänger-Themen 7
B OOP Aus Textdatei auslesen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben