• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Frage an die Programmierer

Mitglied seit
04.08.2002
Beiträge
1.869
Reaktionen
0
Nabend zusammen.

Habe nen ziemlich großes Problem und hoffe einer der Java Spezialisten kann mir dabei weiterhelfen:

Ich will ein Java Programm schreiben, welches bestimmte Platzhalter innerhalb einer Datei ersetzt.
So wie ich das sehe, muss ich dazu die Datei zeilenweise einlesen, überprüfen ob der Platzhalter in dieser Zeile vorhanden ist, und dann gegebenenfalls ersetzen. Das mache ich dann mit jeder Zeile in der Datei und speichere zum Schluss das ganze wieder ab.

Mein Problem ist nur leider, dass dies bei einer etwas größeren Datei (und mit etwas größer meine ich < 100KB) verdammt lange dauert. Wenn ich das ganze jetzt mit mehreren Dateien mache, ist das unmöglich so.

Ich verwende zum einlesen FileWriter und FileReader sowie den LineNumberReader.

Gibt es unter Java nicht die Möglichkeit irgendwie alle Platzhalter in einer Datei auf einen Schlag zu ersetzen, ohne so einen Zirkus zu machen und vor allen Dingen mit besserer Performance?

Gruß
Markus
 

Scheinkultur

Guest
ein arbeitskollege hat mal für die firma so ein tool geschrieben... er hat vorher auch recherchiert wie mans machen kann, ist aber zum schluss wohl auch bei Java-Standard Writer/Reader geschichten hängengeblieben...

Als Tipp kann ich dir nur von der Verwendung von Strings abraten :D

ansonsten gibt es bestimmt Konsolentools die du einfach von Java parameterisiert aufrufen kannst... nur so als idee
 

voelkerballtier

Coverage, Staff, Coding
Mitglied seit
01.12.2003
Beiträge
1.603
Reaktionen
0
ich glaub bei java gabs auch so FileBufferWriter / Reader - oder irgendwie so - halt gepufferte datei aus/eingabe - falls du das noch nciht verwendest wär das sicher ne gute idee

ansonsten vllt erstma datei komplett einlesen - ändern - schreiben - wenn du wirklich jede zeile wieder einzeln auf die platte schreibst und dann die nächste liest kann das schon dauern...
 
Mitglied seit
04.08.2002
Beiträge
1.869
Reaktionen
0
Original geschrieben von voelkerballtier
ich glaub bei java gabs auch so FileBufferWriter / Reader - oder irgendwie so - halt gepufferte datei aus/eingabe - falls du das noch nciht verwendest wär das sicher ne gute idee

jop genau das war's... bin ich eben durch zufall drauf gestoßen als ich die API gewälzt habe...
außerdem hab ich den code nochmal komplett durchoptimiert.
jetzt gehts das parsen der files, was vorher ungefähr ne halbe minute gebraucht hat, in <1 sek. ;)
 
Oben