Java - Datei Laden, Zeichenfolge (string) ersetzen, sparen
Ich habe ein Programm lädt, die Zeilen aus einer Datei, wählt dann den letzten Teil des Strings (das wäre ein int)
Hier ist der Stil, es ist gespeichert in:
nameOfValue = 0
nameOfValue2 = 0
und so weiter. Ich habe ausgewählt, wird der Wert sicher - ich ausgetestet es durch den Druck. Ich kann einfach nicht scheinen, um es zu speichern zurück.
if(nameOfValue.equals(type)) {
System.out.println(nameOfValue+" equals "+type);
value.replace(value, Integer.toString(Integer.parseInt(value)+1));
}
Wie würde ich es speichern? Ich habe versucht bufferedwriter aber es löscht alles in der Datei.
Irgendeinem Grund sind Sie nicht nur mit
Properties
? In jedem Fall, es sei denn, Sie tun etwas irritierend random-access-Sachen, die Sie schreiben müssen alle Eigenschaften wieder aus. Siehe Sachen wie dieser.InformationsquelleAutor user1032232 | 2011-11-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein Vorschlag ist, sichern Sie den Inhalt der original-Datei (entweder im Speicher oder in einer temporären Datei; ich werde es tun, in der Erinnerung) und dann schreiben Sie wieder, einschließlich der änderungen. Ich glaube, dass dies funktionieren würde:
Und Sie würde rufen Sie die Methode wie diese, die Bereitstellung der Datei, die Sie ändern möchten und den Namen der Wert, den Sie auswählen möchten:
InformationsquelleAutor Óscar López
Ich denke, die meisten bequemer Weg ist:
BufferedReader
int
Teil mit den regulären Ausdruck und ersetztSie es mit Ihrem neuen Wert.
Bitte lassen Sie mich wissen, wenn Sie benötigen das Java-Programm implementiert obigen Algorithmus.
InformationsquelleAutor Upul Bandara
Schwer zu beantworten ohne den code komplett...
Ist Wert ein string ? Wenn also die ersetzen-erstellen Sie eine neue Zeichenfolge, aber Sie sind nicht das speichern dieser Zeichenfolge überall. Erinnern Strings in Java unveränderlich sind.
Sie sagen, Sie verwenden einen BufferedWriter, haben Sie erröten, und schließen Sie das ? Dies ist oft die Ursache von Werten auf mysteriöse Weise verschwinden, wenn Sie es sein sollte. Dies genau der Grund, warum Java hat einen finally-Schlüsselwort.
Auch schwer zu beantworten, ohne weitere details zu deinem problem, was genau wollen Sie erreichen ? Es gibt vielleicht einfachere Wege, dies zu tun, die bereits da sind.
InformationsquelleAutor Newtopian