File.delete() renvoie False malgré l'existence du fichier et les autorisations
Q : Je rencontre un problème où file.delete() La méthode renvoie false, même si file.exists(), file.canRead(), file.canWrite() et file.canExecute() renvoient tous true. Quelle pourrait être la cause de cela ?
R : Malgré les vérifications de l'existence des fichiers et des autorisations, vous pouvez toujours rencontrer ce problème en raison d'un bug dans Java. Pour surmonter cela, il est crucial d'incorporer les étapes suivantes :
L'intégration de ces étapes dans votre code devrait résoudre le problème :
<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>
En suivant ces suggestions, vous pouvez surmonter ce problème et assurez-vous que le processus de suppression du fichier est terminé avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!