2017-08-17 23 views
1

に動作していないことはここでは、コードの他の部分に行くpdfファイル単純なファイルは、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(); 
} 

を削除する私のコードです。

PDFファイルはプロジェクトのルートフォルダにあり、手動で削除することができます。今、私の頭を掻く。

完全な方法です。それは例外では正確でないかもしれません

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

に他の何らかの理由

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

:あなたが削除しようとする前に

はこれを試してみてください。あなたは文が単に 'ファイル'が削除されているかどうかをチェックしているのです。 – Jixone

+0

私の頭の中で最初に浮かぶのは、使用したファイルパスが正しいことですか?相対的な場合は、それがあなたの考えであることを確認することにします。 –

+0

if(file.exists()){ file.delete();これを試してください。 } – Tehmina

答えて

0

変更if(file.delete)が原因かもしれません。

0

まず、ファイルが存在するかどうかを確認してから削除してください。

以下のコードを使用してください。その正常に動作し、削除のための非常に明確なアプローチです。私はそれが助けてくれることを望む。ここで

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(); 
    } 
} 

出力されます:

Output of the above code

0

私の経験では、窓付きです。ファイルが削除されない理由は常に同じです。オブジェクトの中にはファイルへの接続があり、開いているものがあります。この場合、fileInputStreamのように見えます。あなたはファイルを削除していない

fileInputStream.close(); 
+0

はい、あなたは正しいです。私はそれを閉じようとしましたが、それに応答して何も得られません。私はポインタと接続で迷っていると思う。 – Adeel

+0

d.delete()の値がtrueでもfalseでもないことを意味しますか?私は「何も得られない」と答えたのはどういう意味ですか? – Charles

+0

return responseBuilder.build();ファイルは正常に削除されます。 – Adeel

関連する問題