Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java - soubor nelze smazat

Pravdepodobne je ten súbor používaný tvojím vlastným procesom. Myslím, že MediaPlayer mal taký bug, že neuvoľnil handle na súbor, neviem či s tým niečo spravili. Kto drží otvorený handle môžeš zistiť použitím programu handle.exe.

MediaPlayer má metódu dispose, ktorá zaručene zatvorí všetky prostriedky, ktoré používa. Nevýhodou je, že ho už potom nemôžeš použiť, takže si v prípade potreby musíš vytvoriť novú inštanciu. Ale vidím, že novú inštanciu vytváraš vždy, takže ti to asi môže byť jedno.

Ešte pár menej podstatných až nepodstatných pripomienok ku kódu:
- skús viac používať premenné, LIST_FILES.get(number).getName() tam máš 2x v jednom riadku, ktorý je potom zbytočne dlhý
- používaj try-with-resources, ak môžeš (a keďže si skúšal Files.delete, tak môžeš, lebo máš k dispozícii minimálne Javu 7) - výrazne tým zjednodušíš kód
- na tvojom mieste by som uprednostnil Files.deleteIfExists pred file.delete - file.delete v prípade zlyhania len vráti false a ak to explicitne neskontroluješ, tak sa nedozvieš, že vznikol problém
- pomenúvaj premenné podľa javovej konvencie, t.j. žiadne podčiarniky v názvoch premenných, ale camelCase

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny