我编写了一个在temp文件夹中创建MSaccess数据库的程序。我需要在客户端下载后删除Tempfolder。
@PostConstruct
public void init() {
try {
lb.createLbTable(readType());
Path path = Paths.get(lb.getTempFolder().toString(), "MyDB.accdb");
this.lbAll = new DefaultStreamedContent(Files.newInputStream(path), "accdb", "MyDB.accdb");
} catch (IOException e) {
LOGGER.error(e.getMessage(),e);
}
}
@PreDestroy
public void destroy() {
leistungsbereichAccess.deleteTempFolder();
}
来自其他类的删除方法:
public void deleteTempFolder() {
try {
FileUtils.forceDelete(tempFolder.toFile());
} catch (IOException e) {
LOGGER.error(e.getMessage(), e);
}
只有在我使用forceDeleteOnExit
删除jbose服务器后才删除当前目录时,它才有效。但是我需要在客户端完成下载后删除目录。我得到'Unable to delete file:..'
,因为它被下载管理器锁定了。