Eine bestimmte Zeile in einer Textdatei in Java löschen?
Hallo! Ich schreibe derzeit ein Plugin für meinen Minecraft CraftBukkit Server. Ich wollte so eine Art "Warp"-Command schreiben, nur dass er bei mir "crover" (für "Cross Over" heißt). Egal, alles nicht so wichtig. Jetzt möchte ich meine Welten die ich mit MultiVerse erstellt habe permanent in einer Textdatei speichern. Wo speichere ich die Textdatei am besten, dass sie beim Buildvorgang nicht einfach gelöscht wird? Und wenn ich eine Welt lösche (Btw: Mit /crover del alone <name der welt>), wie mache ich das, dass ich eine bestimmte Zeile lösche und beim löschen KEINE leere Zeile entsteht? Und wie finde ich eine Zeile mit einen bestimmten Text?
Danke für eure Zeit!
2 Antworten
Hey!
Die Datei lässt du am besten von deinem Plugin im Ordner plugins/[PluginName]/ generieren. Danach kannst du mit der YAMLConfiguration von Spigot die Datei bearbeiten und speichern. Eine Anleitung dazu findest du hier: https://www.spigotmc.org/wiki/config-files/
Wenn du einen Eintrag löschen möchtest, setzt du für diesen einfach null ein.
Am einfachsten: ganze Textdatei lesen, die Zeile finden (iterativ oder mit Streams) und dann gesamten Text ohne die Zeile wieder in die Textdatei schreiben.
Oder ein Replace auf den String, da gibt es viele Möglichkeiten