在文件响应后删除文件
问题描述:
我想在Resteasy放置请求后删除文件。 我的代码:在文件响应后删除文件
@PUT
@Path("/audioconverter")
public File audioConverter(@Context HttpServletRequest request, File file,
@QueryParam("codec") String codec,....
...
return aFile();
}
我想删除å文件()在文件系统中回归后。我怎样才能做到这一点?
答
继从上面我能够做到以下几点建议:
File zipDirectory = new File(outputZipFolder);
StreamingOutput stream = new StreamingOutput() {
@Override
public void write(OutputStream output) throws IOException, WebApplicationException {
java.nio.file.Path path = Paths.get(outputZipFile);
byte[] data = Files.readAllBytes(path);
output.write(data);
output.flush();
FileUtils.cleanDirectory(zipDirectory);
}
};
你可能需要等待与删除文件,直到它不会被使用了。 –
它返回后不会再被使用......我需要类似“afterreturn”事件。 – user1071250
以完成它: 回报新StreamingOutput(){。 公共无效的write(java.io.OutputStream中为arg0){ ...流媒体和文件删除... \t \t \t} \t \t}; – user1071250