ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
605
605
EMPFEHLEN
-
Hi liebe Community,
ich hänge an folgendem Problem:
Ich möchte eine Textdatei einlesen, diese editieren und wieder abspeichern. (Evtl auch unter einem anderem Dateinamen)
zum verdeutlichen:
Datei: abc.txt (z.B. unter C:\)
Die datei enthält folgenden Text:
***************
a
a
a
b
b
b
c
c
c
***************
Jetz möchte ich z.B. vor dem ersten "c" einen Text einfügen. z.B.:
***************
a
a
a
b
b
b
Ich hasse Java!
c
c
c
***************
Jetz mal mein Gedankengut, wie ich mir das vorgestellt habe:
1. Die Datei mit nem FileReader einlesen (Soll später noch erweitert werden, dass ich über ne GUI die Datei auswählen kann. Ist aber atm noch nicht erforderlich)
2. Mit einem BufferedReader readline() zeilenweise den Text der Datei einlesen
3. Den Inhalt mit StringBuffer speichern (readline() bis null -> StringBuffer append)
4. Und dann
Hier habe ich viel Zeug nachgelesen bzw. auch ausprobiert. Allerdings komme ich nicht zu meinem gewünschten Ergebnis. Entweder wird der Text überschrieben, bis zu c gelöscht, der "ich hasse Java"-String in nem Loop bis ins unendliche geschrieben usw.
Also ich wäre für jede Hilfe / Anregung dankbar, wie ich Schritt 4., 5., und evtl 6.,7.,... abgehen kann.
Danke
Maddin
-
Hmpf, habs selbst hinbekommen. War nicht wirklich schwer (hat aber laaaaaange gedauert...)
Wens interessiert, hier mein Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { File testFile = new File("D:/abc2.txt"); FileWriter fw = new FileWriter(testFile); BufferedWriter br = new BufferedWriter(fw); BufferedReader in = new BufferedReader(new FileReader("D:/abc.txt")); String zeile = null; String s2="c"; while ((zeile = in.readLine()) != null) { System.out.println("Gelesene Zeile: " + zeile); // Test in der Console br.write(zeile); br.newLine(); if(zeile.equals(s2)){ System.out.println("hmmm, wusst ichs doch"); // Test in der Console br.write("hahahahahhaha"); br.newLine(); } } br.close(); } catch (IOException e) { e.printStackTrace(); } } }
Bitte den Thread vorerst nicht schliessen. Da ich versuche das ganze in ne GUI einzubinden... ..und da werden bestimmt noch Fragen kommen!!
mfg
Maddin
-
Du würdest es dir leichter machen wenn du die Zeilen erstmal in eine Collection speicherst.
Dann kannst du später jederzeit Zeilen ändern, einfügen oder entfernen:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
String path = "C:/test1.txt"; BufferedReader in = new BufferedReader(new FileReader(path)); List<String> content = new ArrayList<String>(); String zeile = null; while ((zeile = in.readLine()) != null) { content.add(zeile); } //vor dem schreiben den lese stream schließen! in.close(); // index der ersten Zeile "c" int firstCLineNumber = content.indexOf("c"); //einfügen content.add(firstCLineNumber, "hahahaha"); File testFile = new File(path); FileWriter fw = new FileWriter(testFile); BufferedWriter br = new BufferedWriter(fw); for(String s : content){ br.write(s); br.newLine(); } br.close();
Ähnliche Themen
-
*.txt Datei editieren?!
Von stockhausen im Forum JavaAntworten: 2Letzter Beitrag: 25.09.10, 09:20 -
XML Datei in Formular editieren
Von FritzTheCat im Forum PHPAntworten: 0Letzter Beitrag: 09.10.07, 13:16 -
XML Datei mit PHP editieren
Von tetsuo666 im Forum PHPAntworten: 6Letzter Beitrag: 11.07.07, 11:25 -
PHP datei editieren
Von supser im Forum PHPAntworten: 2Letzter Beitrag: 18.06.07, 00:22 -
Datei auf FTP-Server editieren
Von XL-Reaper im Forum PHPAntworten: 0Letzter Beitrag: 28.06.04, 15:50





Zitieren
Login





