Textdateien bearbeiten

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich möchte in meinem Java-Programm eine Textdatei öffnen, nach einer bestimmten zeichenkette suchen und anschließend die komplette Zeile wo diese Zeichenkette gefunden wurde, löschen. Allerdings kenne ich mich mit der bearbeitung von textdateien überhaupt nicht aus. kann mir da jemand helfen?
 

The_S

Top Contributor
Du öffnest die Textdatei (z. B. mit dem BufferedReader), speicherst sie in nem String und ersetzt die Zeichenkette mit replaceAll()

[edit] ach die Komplette Zeile, dann les mit dem BufferedReader mit readLine() ein und überprüf gleich, ob diese Zeichenkette vorhanden ist.
 
G

Guest

Gast
sicher dass das auf die art und weise performant ist? die datei hat fast 3000 zeilen. die würde ich ungern komplett in einen string einlesen
 
G

Guest

Gast
jetzt schon ;-)

kannst du mir mal ein kurzes beispiel für den buffered reader geben?
 

The_S

Top Contributor
Code:
String str = "";
StringBuffer strB = new StringBuffer();
BufferedReader buff = new BufferedReader(new FileReader("textdatei.txt"));
while ((str = buff.readLine()) != null) {
    if (str.indexOf("böser Text") == -1) {
        strB.append(str);
    }
}

[edit]
mic_checker hat gesagt.:
Guck mal hier - da findest du echt viel ;)

LOL :lol: . Wo er recht hat ...
 
G

Guest

Gast
kann man auch irgendwie absolute Pfade auswählen?

Code:
BufferedReader buff = new BufferedReader(new FileReader("textdatei.txt"));

Das Ganze ist eine JSP-Anwendung und der Benutzer kann mittels "Durchsuchen"-Button eine bestimmte Datei suchen. Der Pfad wird dabei allerdings absolut in einem String gespeichert.
 

The_S

Top Contributor
Code:
BufferedReader buff = new BufferedReader(new FileReader(stringMitDemAbsolutenPfad));
 
G

Guest

Gast
so schlau war ich ja auch. aber irgendwie zerhaut er mir dabei den String.

Code:
type Status report

message d: est.txt (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)

description The requested resource (d: est.txt (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)) is not available.

Das Ganze ist in D:\Test.txt gespeichert und steht auch genau so in meinem String
 

The_S

Top Contributor
Wie wärs mit D:\\Test.txt ?

Weil \t ein Tabulator ist und \\ ein Leerzeichen!!!

[edit] Was schreib ich für Scheiße? \\ ist natürlich ein Backslash ???:L
 
G

Guest

Gast
hast recht :)

und wie lösche ich jetzt im endeffekt die zeile? bis dahin lässt es sich fehlerfrei ausführen
 

The_S

Top Contributor
Schau dir nochmal meinen Code an! Da wird bereits überprüft ob in der gelesenen Zeile der "böse Text" vorkommt. Wenn dies der Fall ist, wird die Zeile erst gar nicht hinzugefügt. Wenn du es Zeilengenau haben willst, musst du natürlich noch ein + "\n" bei strB.append() einfügen.

[edit] Hehe, schon wieder schneller :bae:
 

mic_checker

Top Contributor
Guck dir doch seinen Code oben an, wenn der Text in der Zeile vorkommt (return wert von indexOf dann != -1), hängt er nicht an den Buffer an...

edit:
arg, ich sollt mich doch nicht so viel von den ganzen bildchen im netz ablenken lassen und lieber mal schneller antworten ;)
 
G

Guest

Gast
der Code scheint aber nicht ganz richtig zu sein. Ich dachte, man müsste Strings immer mit .equals vergleichen. So gibt er mir eine Fehlermeldung
 

mic_checker

Top Contributor
Du vergleichst keine zwei Strings, du überprüfst ob der eine String im andern vorkommt, falls ja ist der Rückgabewert != -1.

Hobbit: Ergänzend zu deinem Post, hab mir jetzt extra mehr zeit gelassen ;)
 
G

Guest

Gast
eine fehlermeldung bekomme ich jetzt nicht mehr, aber die textdatei bleibt unverändert. muss ich den neuen String dann nicht noch in der Textdatei abspeichern?
 

The_S

Top Contributor
Ja natürlich! :D , gell das hast du nicht gemacht?

Code:
BufferedWriter buff2 = new BufferedWriter(new FileWriter(verzeichnisZumSpeichern));
buff2.write(bearbeiteterString);
buff2.close()
 
G

Guest

Gast
Ich hab das Ganze jetzt so bei mir ausgeführt:

Code:
    String str = "";
    StringBuffer strB = new StringBuffer();
    
    BufferedReader buff = new BufferedReader(new FileReader("d:\\test.txt"));
    while ((str = buff.readLine()) != null) {
        if (str.indexOf("hilfe") == -1) {
            strB.append(str + "\n");
        }
    }
    
    BufferedWriter buff2 = new BufferedWriter(new FileWriter("d:\\test2.txt"));
    buff2.write(strB.toString());
    buff2.close();

Er macht keinen Zeilenumbruch, sondern schreib das Ganze als Sonderzeichen in die Datei.
[/list]
 

The_S

Top Contributor
Dann mach noch

Code:
deinAbgeänderterText.replaceAll("\n", System.getProperty("line.separator"));

Dann wird der systemspezifische Zeilenumbruch verwendet. Es gibt hier übrigens auch eine Suche!!!
 
G

Guest

Gast
jetzt funzt alles wunderbar. Danke für deine hilfe und für deine Geduld :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
F Input/Output 2 Textdateien mit einander vergleichen Java Basics - Anfänger-Themen 11
_0815_ Problem mit dem Automatischen eintragen in Textdateien Java Basics - Anfänger-Themen 1
S 4 große Textdateien zu einer Mergen Java Basics - Anfänger-Themen 5
K Textdateien vergleichen optimieren Java Basics - Anfänger-Themen 9
Z Textdateien einlesen und verarbeiten Java Basics - Anfänger-Themen 3
Bluedaishi Textdateien splitten, neu schreiben Java Basics - Anfänger-Themen 13
H Textdateien in Ordner einlesen - unendlich ? Java Basics - Anfänger-Themen 8
T mehrere Benutzer greifen auf Textdateien zu Java Basics - Anfänger-Themen 3
H Vergleichen mit mehreren Textdateien Java Basics - Anfänger-Themen 2
MilchToast Teilstrings aus unbekannt großen Textdateien extrahieren. Java Basics - Anfänger-Themen 5
B Textdateien erweitern Java Basics - Anfänger-Themen 7
A Zugriff auf Textdateien und Datenbanken Java Basics - Anfänger-Themen 3
D textdateien manipulieren, welche klasse? wie? Java Basics - Anfänger-Themen 8
T Textdateien mit Unicode-Zeichen kopieren Java Basics - Anfänger-Themen 2
F mehrer Textdateien Inhalte in eine TXT Datei Java Basics - Anfänger-Themen 16
H in Textdateien etwas schreiben bzw. speichern Java Basics - Anfänger-Themen 2
cowabunga1984 Auslesen von Informationen aus Textdateien Java Basics - Anfänger-Themen 2
J in Textdateien speichern - aus Textdateien auslesen Java Basics - Anfänger-Themen 5
G Bilder und Textdateien aus jar einbinden Java Basics - Anfänger-Themen 7
F Zugriff auf Textdateien über URL Java Basics - Anfänger-Themen 2
E Zwei Textdateien in eine kopieren Java Basics - Anfänger-Themen 5
R Text in der DB abspeichern, und danach bearbeiten Java Basics - Anfänger-Themen 5
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Ein Array bearbeiten und in einer anderen Methode nutzen Java Basics - Anfänger-Themen 6
W Array zur Laufzeit bearbeiten? Java Basics - Anfänger-Themen 31
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
A Methoden Array aus verschiedenen Methoden bearbeiten bzw. öffnen Java Basics - Anfänger-Themen 18
A JButton in anderer Klasse bearbeiten. Java Basics - Anfänger-Themen 2
I Array "bearbeiten Java Basics - Anfänger-Themen 3
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
W Char Array bearbeiten Java Basics - Anfänger-Themen 6
N Klassenobjekte in einer ArrayList bearbeiten Java Basics - Anfänger-Themen 5
J Textdatei filtern und bearbeiten Java Basics - Anfänger-Themen 1
K Strings bearbeiten Java Basics - Anfänger-Themen 14
S Ordnerstrukturen durchsuchen und Files bearbeiten Java Basics - Anfänger-Themen 6
M Exception werfen und bearbeiten Java Basics - Anfänger-Themen 1
C Threads Threaded Bilder bearbeiten Java Basics - Anfänger-Themen 8
M Primefaces tabelle bearbeiten Java Basics - Anfänger-Themen 4
T Textdatei beschreiben/bearbeiten Java Basics - Anfänger-Themen 4
K CSV durchsuchen und bearbeiten Java Basics - Anfänger-Themen 1
S externe Datei erstellen, oeffnen, bearbeiten Java Basics - Anfänger-Themen 2
P Bild bearbeiten Java Basics - Anfänger-Themen 9
J Variablen Bearbeiten von Variablen aus anderen Klassen Java Basics - Anfänger-Themen 23
M Dateien erstellen/ bearbeiten/ lesen Java Basics - Anfänger-Themen 9
A JList bearbeiten Java Basics - Anfänger-Themen 2
P Per Button, Linien Hinzufügen und bearbeiten Java Basics - Anfänger-Themen 30
L Input/Output Text Dateien einlesen, bearbeiten und speichern Java Basics - Anfänger-Themen 9
Y Objekte "extern" bearbeiten Java Basics - Anfänger-Themen 3
S Von Button und Radio Button Aktion bearbeiten Java Basics - Anfänger-Themen 10
C Source File bearbeiten und neu Kompilieren Java Basics - Anfänger-Themen 5
2 Input/Output In Java Dateien öffnen/bearbeiten? Java Basics - Anfänger-Themen 9
S Bearbeiten Von Exceldatei mit JExcelAPI Java Basics - Anfänger-Themen 2
K Umgebungsvariable Pathvariable Button "bearbeiten" nicht drückbar Java Basics - Anfänger-Themen 4
A vektor bearbeiten?? Java Basics - Anfänger-Themen 9
C Java Felder bearbeiten Hilfe Java Basics - Anfänger-Themen 4
F daten in dropbox bearbeiten Java Basics - Anfänger-Themen 23
c_sidi90 Excelfile bearbeiten ohne zu überschreiben? Java Basics - Anfänger-Themen 25
K Ausgeführte JAR bearbeiten Java Basics - Anfänger-Themen 5
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
StupidAttack String bearbeiten Java Basics - Anfänger-Themen 7
P mit java text-datei auslesen und weiter bearbeiten Java Basics - Anfänger-Themen 3
Z Sonderzeichen in einem String gezeichnen/bearbeiten Java Basics - Anfänger-Themen 6
D csv einlesen, bearbeiten Java Basics - Anfänger-Themen 2
P String bearbeiten Java Basics - Anfänger-Themen 2
T Ringe erzeugen und bearbeiten Java Basics - Anfänger-Themen 16
K 3 Threads bearbeiten 1 Referenz: Ich versteh's nicht... Java Basics - Anfänger-Themen 2
M Leeres String Arrayfeld bearbeiten Java Basics - Anfänger-Themen 12
S String bearbeiten Java Basics - Anfänger-Themen 4
D Datei innerhalb einer zip bearbeiten Java Basics - Anfänger-Themen 8
K Txt statt in TextArea in JTable einlesen und bearbeiten können Java Basics - Anfänger-Themen 4
K daten von jtable auslesen und in einer anderen klasse anzeigen und bearbeiten Java Basics - Anfänger-Themen 7
M HTML Datei bearbeiten Java Basics - Anfänger-Themen 14
T Plugin-Dependencies bearbeiten Java Basics - Anfänger-Themen 15
Screen Text scannen und bearbeiten ! Java Basics - Anfänger-Themen 2
R doc-Datei einlesen und bearbeiten Java Basics - Anfänger-Themen 2
D Sehr großer String lässt sich nicht bearbeiten Java Basics - Anfänger-Themen 7
-horn- CSV-file zeilenweise einlesen, was bearbeiten, nächste Zeile Java Basics - Anfänger-Themen 15
M Zahlen bearbeiten /Schneiden/hinzufügen Java Basics - Anfänger-Themen 8
G Jar mit Netbeans bearbeiten Java Basics - Anfänger-Themen 14
N xls bearbeiten und speichern Java Basics - Anfänger-Themen 2
D Worddokument automatisiert bearbeiten Java Basics - Anfänger-Themen 9
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
1 Daten einlesen und bearbeiten (mehr als 2000 Zeichen) Java Basics - Anfänger-Themen 8
C String bearbeiten Java Basics - Anfänger-Themen 7
C String aus URL lesen und bearbeiten Java Basics - Anfänger-Themen 3
W RS232: Daten empfangen,bearbeiten,ausgeben Java Basics - Anfänger-Themen 2
K Datei öffnen, lesen, bearbeiten, in neuer datei speichern Java Basics - Anfänger-Themen 12
G JFrame aus andere Klasse in GUI anzeigen und bearbeiten Java Basics - Anfänger-Themen 3
H Header von Textfile bearbeiten Java Basics - Anfänger-Themen 14
T Fenster JFrame erstellt, jetzt bearbeiten! Java Basics - Anfänger-Themen 6
N Bild bearbeiten Java Basics - Anfänger-Themen 2
D String mit replace bearbeiten Java Basics - Anfänger-Themen 2
M sting komplett bearbeiten und nicht nach zeilenumbruch ende Java Basics - Anfänger-Themen 3
B Datei zum Bearbeiten mit externem Programm öffnen Java Basics - Anfänger-Themen 43
R einzelne Zelle einer JTable bearbeiten Java Basics - Anfänger-Themen 2
T Bilder einlese und bearbeiten Java Basics - Anfänger-Themen 9
S Bearbeiten von Daten in GUI Java Basics - Anfänger-Themen 13
L Dateien im Netzwerk bearbeiten (UNC-Pfade und gemappte Laufw Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben