Java Prob it Dateien / Zeilen löschen
LakeBodom 19.05.2003 - 10:06 615 8
Bodominjaervi
OC Addicted
|
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  Tia
|
Ringding
Pilot
|
Gibts eine andere Lösung  Nein. Nur was hat das mit einer Listbox zu tun?
|
Bodominjaervi
OC Addicted
|
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
Legendundead
|
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
Bearbeitet von watchout am 19.05.2003, 22:24
|
Ringding
Pilot
|
Und dafür musst du dann die Datei nicht neu schreiben?
|
cgint
Bloody Newbie
|
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
Legendundead
|
@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
OC Addicted
|
imho is aber auch nicht möglich, in java eine zeile zum verändern, ohne die datei neu zu schreiben!
|
cgint
Bloody Newbie
|
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.htmlcgint
Bearbeitet von cgint am 20.05.2003, 15:20 (the brain the brain - always the brain)
|