Java Prob it Dateien / Zeilen löschen

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/java_prob_it_dateien_zeilen_loeschen_79197/page_1 - zur Vollversion wechseln!


Bodominjaervi schrieb am 19.05.2003 um 10:06

Hab eine Frage zu JBuilder 4.0. Ists möglich aus einer Datei zeilenweise zu löschen? Hab schon in der Java-Insel gesucht, leider aber nichts gefunden. :(

Hab eine Listbox, in der Spiele stehen, die gelöscht werden sollen. Nur wie kann ich zeilenweise löschen?

Eine Möglichkeit wär die gesamte Datei zwischenzuspeichern, die alte Datei löschen, dann die Sätze in die neue Datei schreiben und speichern. Is aber a bissi umständlich. Gibts eine andere Lösung :confused:

Tia


Ringding schrieb am 19.05.2003 um 10:40

Zitat
Gibts eine andere Lösung :confused:

Nein.

Nur was hat das mit einer Listbox zu tun?


Bodominjaervi schrieb am 19.05.2003 um 10:45

Zitat von Ringding
Nur was hat das mit einer Listbox zu tun?

Wollt nur das Problem a bissi beschreiben. Also muss i die Datei löschen und neu anlegen. :(


watchout schrieb am 19.05.2003 um 22:22

Zitat von LakeBodom
Wollt nur das Problem a bissi beschreiben. Also muss i die Datei löschen und neu anlegen. :(
ps: das problem hast du nicht nur in java ;)

edit: mhh, es gibt aber schon ne möglichkeit, du kannst zb ne zeile ausblenden indem du ein definiertes zeichen davorsetzt, welches dann von der lesenden funktion ignoriert wird ;)


Ringding schrieb am 19.05.2003 um 22:27

Und dafür musst du dann die Datei nicht neu schreiben?


cgint schrieb am 19.05.2003 um 22:33

du kannst jedem eintrag eine ID geben
und dann in einer zweiten datei die IDs sammeln,
die nicht mehr angezeigt werden sollen.

is aber echt NUR zu empfehlen, wenn du die datei
auf keinen Fall neu schreiben willst.
z.B.: wenn ein zweites programm gleichzeitig einträge
anhängt oder so

aber ansonsten wirst du nicht um die version mit
komplett neuschreiben nicht herumkommen.
ausser du nimmst a datenbank :)

cgint


watchout schrieb am 19.05.2003 um 22:49

@ringding: ich mein, ich kenn java nicht wirklich, aber wenn du nur das erste zeichen von ner zeile ersetzt musst du normal nicht alles ersetzen, was natürlich nix daran ändert, dass sowas normal kaum notwendig is


Bodominjaervi schrieb am 20.05.2003 um 14:56

imho is aber auch nicht möglich, in java eine zeile zum verändern, ohne die datei neu zu schreiben! :(


cgint schrieb am 20.05.2003 um 15:16

Zitat von LakeBodom
imho is aber auch nicht möglich, in java eine zeile zum verändern, ohne die datei neu zu schreiben! :(

da kann ich nur zustimmen,
egal oba man ein zeichen, eine zeile oder ein wort
entfernen oder ersetzen möchte.

man kommt nicht drum rum, die gesamte datei einzulesen
und die geänderte version abzuspeichern.


eine möglichkeit wäre noch, mit RandomAccessFile zu arbeiten.
das würde die lösung mittels "flag" möglich machen, wo zu beginn
einer zeile das "flag" aussagt, ob der eintrag angezeigt werden soll oder nicht
einzelne zeilen kann man damit auch nicht löschen

dabei gibt es aber auch zwei einschränkungen.
1) jeder eintrag (zeile) muss gleich lange sein (fixed-length-record).
2) du musst genau wissen, wo in der datei das zeichen ist, das du
über schreiben willst

EDIT: ad 2) sprich der wievielte eintrag zu deaktivieren ist, was ja wiederum kein problem ist, weil du die einträge ja zuvor ausliest

siehe http://developer.java.sun.com/devel...000/tt0509.html

cgint




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025