TuronC Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 Hi, ich möchte eine TextDatei auslesen und in eine andere Datei speichern, mit inputstream usw. das geht schon ganz gut. Nun soll ich aber auch noch gewisse Textpassagen zwischen Schlüsselwörtern herauslöschen, bzw, mit dem Stream gar nicht mehr schreiben, sondern gleich verwerfen, hat einer von euch da eine blitzende Idee? google spuckt da nicht wirklich was brauchbares aus :confused: Grüße T Zitieren
kingofbrain Geschrieben 3. Mai 2005 Geschrieben 3. Mai 2005 Na dann überlies die Passagen doch einfach und schreib sie nicht in den OutputStream. Du hast zwei Zustände: lesen und überlesen. Wenn Du an ein Schlüsselwort kommst, schaltest Du überlesen an und liest bis zum nächsten Schlüsselwort, ohne zu schreiben. Danach schaltest Du lesen an und schreibst wieder. Peter Zitieren
Commander_COM Geschrieben 3. Mai 2005 Geschrieben 3. Mai 2005 da gibts doch sicher auch ein paar imports... html-parser oder so was Zitieren
perdian Geschrieben 3. Mai 2005 Geschrieben 3. Mai 2005 Nun soll ich aber auch noch gewisse Textpassagen zwischen Schlüsselwörtern herauslöschen, bzw, mit dem Stream gar nicht mehr schreiben, sondern gleich verwerfen, hat einer von euch da eine blitzende Idee?Da hat der Stream an sich ja erstmal nichts mit zu tun. Du musst das ganze in drei Teilbereiche splitten: Einlesen -> Verarbeiten -> Wegschreiben Und genau im Bereich "Verabeiten" musst du den Teil überspringen, den du nicht mit schreiben willst. Sofern die Datei nicht zu groß ist würde ich die einfach komplett in den Speicher lesen, da verarbeiten und zum Schluss ineinem Rutsch wieder rausschreiben. Zitieren
speedi Geschrieben 6. Mai 2005 Geschrieben 6. Mai 2005 Denke auch das Perdi´s Idee für dich so ziemlich das günstigste ist. Lies Doch deine Ganze Datei in nen String (bei einem String kannst du mit \n Zeilenumbrüche machen) oder in nen String Array. Mit der String methode s.substring(int beginn, int ende); kannst du einen bestimmten Teil des Strings auslesen. Wenn du das dann in verglichst mit if(s.substring(int beginn, int ende).equals(schlüsselwort)==true´){ s = s.substring(0,beginn) + s.substring(ende,s.length); } weist du ob es dein Schlüsselwort ist. Zitieren
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.