Avatar billede connorz Nybegynder
19. januar 2006 - 11:53 Der er 7 kommentarer og
1 løsning

Årsager til at delete fails

Jeg forsøger at slette en fil på min harddisk med File.delete.

Men metoden returnerer false. Hvad kan årsagen være til det? Jeg har undersøgt følgende:

- filen eksisterer (tjekket med exists()) og der kan skrives til den (tjekket med canWrite())
- Hvis jeg blokker programmet lige inden delete kaldet, kan jeg godt slette filen i filsystemet (vha. Windows Explorer)
- Hvis jeg blokker programmet lige inden delete kaldet, kan jeg slette filen med et andet java program, der kalder delete på den samme fil. De udfører begge nøjagtig den samme kode:
File db = new File("mediaserver.db");
if (db.delete())
    System.out.println("DELETED");
else {
    System.out.println("FAILED");
}

Den eneste forskel jeg kan se er, at det er den samme JVM, der kort forinden har benyttet filen, men den  skulle altså ved delete kaldet (og new File(...)) være lukket...

Håer I kan hjælpe, da det skal afleveres i morgen :p
Avatar billede kalp Novice
19. januar 2006 - 11:59 #1
File fl = new File("c:/mediaserver.db");
 
  if(fl.delete())
  System.out.println("DELETED");
  else
  System.out.println("NOT DELETED");

måske harjeg mistforstået dig.. men gør jeg sådan der.. så virker det hos mig?
Avatar billede connorz Nybegynder
19. januar 2006 - 12:18 #2
ja, det virker også hos mig, jf. tjek 3. Problemet er, at det ikke virker i "hovedprogrammet" og derfor spørger jeg, hvad årsagerne kan være til den returnerede false på baggrund af det, jeg HAR tjekket :)
Avatar billede kalp Novice
19. januar 2006 - 13:21 #3
har ikke nogen bright ideas her...
ved ikke om man kan bruge deleteOnExit() metoden
Avatar billede arne_v Ekspert
19. januar 2006 - 14:24 #4
du skal vaere 112% sikker paa at du har eksplicit kaldt close paa filen
Avatar billede arne_v Ekspert
19. januar 2006 - 14:24 #5
og saa skal du have write permission til det dir som filen ligger i
Avatar billede connorz Nybegynder
19. januar 2006 - 19:13 #6
hvis jeg kan slette filen fra et andet java program, må write permissions vel være i orden? Er filen ikke "lukket ordentligt", hvis jeg kan slette den ude i styresystemet på det tidspunkt, hvor programmet ellers ville have slettet den?
Avatar billede arne_v Ekspert
01. februar 2006 - 02:37 #7
check lige om du har kaldt close eksplicit alligevel
Avatar billede connorz Nybegynder
02. september 2006 - 15:04 #8
Lukker nu...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester