File.delete() Mengembalikan Palsu Walaupun Fail Wujud dan Kebenaran
S: Saya menghadapi masalah di mana file.delete() kaedah mengembalikan palsu, walaupun file.exists(), file.canRead(), file.canWrite(), dan file.canExecute() semuanya kembali benar. Apakah yang boleh menyebabkan perkara ini?
J: Walaupun memenuhi kewujudan fail dan semakan kebenaran, anda mungkin masih menghadapi isu ini disebabkan pepijat di Java. Untuk mengatasinya, adalah penting untuk memasukkan langkah berikut:
Mengintegrasikan langkah-langkah ini ke dalam kod anda seharusnya menyelesaikan isu:
<code class="java">public void deleteFile() { FileOutputStream to = null; FileInputStream in = null; try { in = new FileInputStream(file); to = new FileOutputStream(file); to.write(fileContent.getBytes()); to.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); in = null; to.flush(); to.close(); to = null; System.gc(); } catch (IOException e) { e.printStackTrace(); } } // Attempt to delete file if (file.delete()) { // Delete successful } else { // Handle unsuccessful deletion } }</code>
Dengan mengikuti cadangan ini, anda boleh mengatasi isu ini dan pastikan proses pemadaman fail berjaya diselesaikan.
Atas ialah kandungan terperinci Mengapa Adakah `File.delete()` Kembali Palsu Walaupun Fail Wujud dan Mempunyai Kebenaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!