Avatar billede madiedk Nybegynder
12. september 2008 - 10:31 Der er 22 kommentarer og
1 løsning

kan ikke slette fil

Hej
jeg kan ikke slette en fil i java.
der er 2 gui knapper der referer til den samme metode til at slette filen.
nogle gange virker det overhoved ikke og nogle gange er det kun den ene knap der virker. meget underligt.

hvis jeg bruger koden:

            System.out.println(f.exists());
            System.out.println(f.delete());

skriver den:
true
false

Men hvis den existere hvorfor vil den så ikke slette?
Avatar billede madiedk Nybegynder
12. september 2008 - 10:38 #1
min gui består af nogle tabbedpanes.
har fundet ud af at hvis jeg skifter væk fra det tabbedpane hvor min knap er og tilbage igen så skriver den:
true
true

ellers skriver den
true
false

hvorfor det?
hvorfor har det noget med swing at gøre?
Avatar billede _carsten Nybegynder
12. september 2008 - 16:39 #2
Filen du forsøger at slette, bruges sikkert af en anden proces, derfor kan du ikke slette den

Hvis du på en eller anden måde behandler filen, så sørg for at denne behandling er afsluttet inden du forsøger at slette den.Jeg tror fil
Avatar billede Slettet bruger
12. september 2008 - 16:43 #3
http://www.spywarefri.dk/tipsogtricks.htm

find dr. delete længere ned på side. Det kan slette enhver fil.  Fra spywarefri s hjemmeside med tips og trix
Avatar billede Slettet bruger
12. september 2008 - 16:48 #4
Avatar billede Slettet bruger
12. september 2008 - 16:52 #5
spywarefri skriver sådan om DR Delete:

Nu bestemmer du, hvilke filer der skal slettes

Du har oplevet det så tit. Der er en fil du vil have slettet, men din pc stritter imod, og vil ikke give dig lov. Du forsøger alle mulige tricks for at overliste din computer, men nej, den er sejlivet.

Nu har vi løsningen, og den hedder Dr. Delete. Det drejer sig om et meget lille program som er nemt at bruge. Åbn Dr. Delete, tast filen i i delete-boksen eller find den ved at browse derhen. Klik på delete-knappen, og væk er den. Dr. Delete har gjort sit job. Dr. Delete vil først forsøge at slette filen uden genstart, men er filen i brug, så skal der en genstart af pc'en til før filen er borte. Du skal så lukke computeren og genstarte. Hent programmet her. Læg det på dit skrivebord. Tjek zip-filen med din virusscanner. (Det skal du gøre ved alt du downloader). Åbn zip-filen og læg programmet hvor du ønsker det. Dr. Delete er den perfekte "doktor" til fjernelse af genstridige spyware-filer.

Et program som Dr. Delete skal benyttes med yderste forsigtighed. Du skal virkelig være klar over, at det er den rigtige fil du fjerner, og du skal være helt klar over om den bruges til andre programmer. Det kan få fatale følger, at fjerne en fil man nu engang ikke skulle have fjernet. Der er jo ofte en grund til, at din pc (eller virusscanner) ikke bare vil acceptere at en bestemt fil slettes. Spywarefri.dk fralægger sig ethvert ansvar for brugen af Dr. Delete.
Avatar billede _carsten Nybegynder
12. september 2008 - 17:21 #6
>> samsonjens

Problemet har intet som helst med spyware at gøre.
Avatar billede Slettet bruger
12. september 2008 - 17:58 #7
Dr delete er ikke til spyware men til alle filer.
Avatar billede Slettet bruger
12. september 2008 - 18:03 #8
http://www.eksperten.dk/spm/831208

Dette var det samme råd, jeg gav til en person der skulle have fjerne adobe
Avatar billede Slettet bruger
12. september 2008 - 18:03 #9
forkert link. jeg skal lige finde det rigtigt
Avatar billede Slettet bruger
12. september 2008 - 18:05 #10
Avatar billede _carsten Nybegynder
12. september 2008 - 18:23 #11
Fint nok, men madiedk vil slette filen vha. java, han har højst sandsynlig selv generet filen vha. java, men glemmer bare lukke den, inden han forsøger at slette filen.

Tvivler stærkt på at Dr Delete er interessant, men det finder vi ud af nar madiedk kommer på banen.
Avatar billede Slettet bruger
12. september 2008 - 18:37 #12
Dr Delete er et lille program, ikke mange kender. Det er nemt at bruge og jeg har brugt det rigtig mange gange til at slette skrivebeskyttede filer eller filer, der der var i brug. Man skal bare være sikker på hvilken fil, man sletter. Hvis der er flere filer skal de slettes en for en. Nogle gange med en genstart
Avatar billede kalp Novice
12. september 2008 - 20:12 #13
Hvis nu han gerne ville slette en tilfældig fil så er det da noget af en omvej, at udvikle et java program til det;)
Windows kan normalt håndtere sletning af filer ganske fornuftigt.

Mon ikke madiedk er ved og udvikle et program og som gerne skulle kunne slette en fil af den ene eller af den anden årsag?:)

Og det er nok det mest sandsynlige eftersom madiedk's sidste par emner på Eksperten har været Java relateret;)
Avatar billede _carsten Nybegynder
12. september 2008 - 21:12 #14
Om jeg begriber hvordan vi er nået hertil, kategorien er "JAVA" - d.v.s. spørgmål er "java-relateret".
Spørgeren har altså et problem, som vedkommende ønsker løst gennem java. Derfor må Dr. Delete, Windows, C/C++, Delphi og hvad der ellers findes af programmer/programmerbare løsninger være totalt uinteressante, (der findes sikkert mere end 200 programmer som kan slette en fil), det er bare ikke interessant, for det handler om "JAVA".

Som >kalp< trods alt ender med at sige/skrive - vi skal vist finde løsningen gennem java.

Fortsat god aften venner :)
Avatar billede Slettet bruger
12. september 2008 - 21:38 #15
: _carsten--->  kan godt se jeg er på galt spor. beklager og hopper af spørgsmålet nu
Avatar billede madiedk Nybegynder
13. september 2008 - 15:36 #16
hehe så kom vi lidt vidt omkring, men helt korrekt det er gennem java filen skal slettes så dr. delete er ikke så relevant her.
så vidt jeg kan se bruges filen ikke af andre processer.
og som skrevet så kan jeg godt slette den hvis jeg klikker væk fra min tabbedpane og tilbage igen så kan den godt slette. ret underligt.
Avatar billede _carsten Nybegynder
13. september 2008 - 18:25 #17
Kan du copy/paste koden her, eller fylder det for meget ?

Jeg tror du på en eller anden måde har fat i filen, og slipper den kun når du skifter mellem dine tabbedpane's
Avatar billede madiedk Nybegynder
14. september 2008 - 13:54 #18
jeg kan ik smide koden der, den er simpelthen for stor, men jeg kigger den lige igennem selv og vender tilbage
Avatar billede madiedk Nybegynder
14. september 2008 - 17:28 #19
det er der sker at jeg i klassekonstruktøren har:
            f = new File(bogføringsSti + bogføringsfilNavn);
            f.delete();
            f.createNewFile();
jeg sletter og opretter den igen, da filen skal være tom hver gang programmet starter.

når jeg klikker på slet knappen er den her kode:
            f.delete();

og i den metode som der skriver til filen starter jeg med
          f.createNewFile();
og slutter med at close både den printwriter der skriver til filen og den bufferedreader der læser fra filen.

jeg tror måske der virker efter jeg har tilføjet en:
            if (!f.exists()){
            f.createNewFile(); 
            }
istedet for bare at skrive f.createNewFile();
kan det passe og hvorfor?
Avatar billede _carsten Nybegynder
14. september 2008 - 18:23 #20
Nej - for du skriver


hvis jeg bruger koden:

            System.out.println(f.exists());
            System.out.println(f.delete());

skriver den:
true            // Altså eksisterer filen
false            // Kan ikke slettes fordi printwriter eller reader ikke er lukket
Avatar billede _carsten Nybegynder
14. september 2008 - 18:26 #21
if (!f.exists()){
    f.createNewFile(); 
}

Ovenstående laver kun en ny fil hvis den IKKE eksisterer i forvejen
Avatar billede madiedk Nybegynder
14. september 2008 - 18:42 #22
okay, jeg har fundet et sted hvor reader ikke var lukket også, så det var nok det der gjorde det. smid et svar og tak
Avatar billede _carsten Nybegynder
14. september 2008 - 19:29 #23
Svar
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