2017-08-17 1 views
1

Voici mon code de supprimer le fichier pdffichier simple suppression du code ne fonctionne pas en Java

try { 
    File file = new File(docObjectId + ".pdf"); 
    file.setWritable(true); 
    System.out.println(file.length()); 
    if (file.delete()) { 
     System.out.println(file.getName() + " is deleted!"); 
    } else { 
     System.out.println("Delete operation is failed."); 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

Il va à la partie else du code.

Le fichier PDF est dans le dossier racine du projet et je peux le supprimer manuellement. Gratter ma tête maintenant.

Voici une méthode complète. Il pourrait être dû à une autre raison

public Response getContractDocument(@PathParam("docid") String docObjectId) throws Exception { 
    DocumentumService documentumService = new DocumentumService(documentumConfigUtil); 
    DocumentumDocumentBean docDocumentBean = documentumService.getContractDocContent(docObjectId, true); 

    FileInputStream fileInputStream; 
    fileInputStream = new FileInputStream(docDocumentBean.getDocFile()); 
    compressPdf(fileInputStream,docObjectId + ".pdf"); 

    fileInputStream = new FileInputStream(docObjectId + ".pdf"); 


    ResponseBuilder responseBuilder = Response.ok((Object) fileInputStream); 
    try { 
     File file = new File(docObjectId + ".pdf"); 
     System.out.println(file.getAbsolutePath()); 
     file.setWritable(true); 
     System.out.println(file.length()); 

     File d = new File(file.getAbsolutePath()); 
     if (d.delete()) { 
      System.out.println(file.getName() + " is deleted!"); 
     } else { 
      System.out.println("Delete operation is failed."); 
     } 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
    return responseBuilder.build(); 
} 
+0

Vous n'êtes pas supprimer le fichier. Vous êtes si l'instruction vérifie juste si le 'fichier' est supprimé. – Jixone

+0

La première chose qui me vient à l'esprit est que vous êtes sûr que le chemin que vous avez utilisé est correct? Si c'est relatif, je vérifierais pour m'assurer que c'est ce que tu penses. –

+0

Essayez ceci, if (file.exists()) { file.delete(); } – Tehmina

Répondre

0

changement if(file.delete) à

try { 
    file.delete(); 
    System.out.println("file deleted"); 
} catch(IOException e) { 
    System.out.println("file not deleted"); 
} 

L'exception peut ne pas être exacte.

0

Tout d'abord, vérifiez si le fichier existe ou non, puis supprimez-le.

Veuillez utiliser le code ci-dessous. Son fonctionnement est très bien et est une approche très claire pour la suppression. J'espère que cela aiderait.

public static void main(String[] args) { 
    try{ 
     File file = new File("C:/Users/Tehmina Yaseen/Documents/NetBeansProjects/FileDeletion/src/filedeletion/Myfile.pdf"); 

     if (file.exists()) { 
      file.delete(); 
      System.out.println(file.getName() + " is deleted!"); 
     } else { 
      System.out.println("Delete operation is failed."); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

Voici la sortie:

Output of the above code

0

Mon expérience est avec des fenêtres. La raison pour laquelle un fichier ne sera pas supprimé est toujours la même. Certains objets ont une connexion au fichier et le maintiennent ouvert. Dans ce cas, il semble que ce soit fileInputStream.

Essayez ceci avant que vous essayez de supprimer:

fileInputStream.close(); 
+0

oui vous avez raison. J'ai essayé de le fermer mais en réponse je n'ai rien. Je pense que je suis perdu dans les liens et les liens. – Adeel

+0

Voulez-vous dire que la valeur de d.delete() n'est ni vraie ni fausse? Qu'entendez-vous par "en réponse je n'ai rien"? – Charles

+0

renvoie responseBuilder.build(); ne renvoie rien mais le fichier est supprimé avec succès. – Adeel