Ade*_*eel 2 java file delete-file
这是我删除pdf文件的代码
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();
}
Run Code Online (Sandbox Code Playgroud)
它转到代码的 else 部分。
PDF 文件位于项目根文件夹中,我可以手动删除它。现在抓我的头。
这里是完整的方法。这可能是由于其他一些原因
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();
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我的经验是窗户。文件不会删除的原因总是相同的。某些对象与文件有连接并保持打开状态。在这种情况下,它看起来可能是 fileInputStream。
在尝试删除之前尝试此操作:
fileInputStream.close();
Run Code Online (Sandbox Code Playgroud)