fil

Tags:    java

når jeg skal skrive noget til min fil bruger jeg denne her:

FileWriter fil = new FileWriter("spillere.txt", true);
PrintWriter ud = new PrintWriter(fil);

ud.println(initTekst+" "+raekkeTekst);

når jeg skal hente noget bruger jeg denne her:

BufferedReader ind = new BufferedReader(new FileReader("spillere.txt"));
String linje = ind.readLine();

men hvad hvis nu jeg gerne vil slette en linie i filen. Findes der en metode der klarer det, eller er jeg nødt til at lægge hele filens indhold ind i en Vector evt, og så derefter slette det ønskede element, og så skrive hele den ændrede fil ind igen, og hvordan gør jeg i såfald det?? Når jeg bruger denne måde, bliver det nye liste jeg har oprettet bare lagt oven i enden af det der stod i filen i forvejen!



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Når du bruger FileWriter("spillere.txt", true) vil den tilføje til enden af filen.

Hvis du derimod bruger FileWriter("spillere.txt", false) vil den overskrive det der måtte være i filen.

Jeg tror at du er nødt til at genskrive hele filen, undtagen den linje du vil slette.



det får jeg ikke til at virke, hvis jeg sætter append til 'false' skriver den over fil hver gang jeg prøver at sætte en ny ind i listen, dvs jeg ender ud med at det kun er den der stod til sidste der er tilbage....



..



Indlæg senest redigeret d. 27.01.2007 20:42 af Bruger #4479
Du er nødt til at åbne filen, med append til false, skrive alle linjer og derpå lukke den.

Eller åbne filen med append til false. Og lukke den igen, så er den tom. Og derpå åbne filen med append til true.

Eller starte med at slette filen, og derpå åbne den med append til true.

Så vidt jeg ved er det delete der bliver brugt til at slette filer:
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#delete()




Du er nødt til at åbne filen, med append til false, skrive alle linjer og derpå lukke den.

Eller åbne filen med append til false. Og lukke den igen, så er den tom. Og derpå åbne filen med append til true.

Eller starte med at slette filen, og derpå åbne den med append til true.

Så vidt jeg ved er det delete der bliver brugt til at slette filer:
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#delete()



tak det virkede!



t