在文件响应后删除文件

问题描述:

我想在Resteasy放置请求后删除文件。 我的代码:在文件响应后删除文件

@PUT 
@Path("/audioconverter") 
public File audioConverter(@Context HttpServletRequest request, File file, 
     @QueryParam("codec") String codec,.... 

     ... 
    return aFile(); 
    } 

我想删除å文件()在文件系统中回归后。我怎样才能做到这一点?

+0

你可能需要等待与删除文件,直到它不会被使用了。 –

+0

它返回后不会再被使用......我需要类似“afterreturn”事件。 – user1071250

+2

以完成它: 回报新StreamingOutput(){。 公共无效的write(java.io.OutputStream中为arg0){ ...流媒体和文件删除... \t \t \t} \t \t}; – user1071250

继从上面我能够做到以下几点建议:

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

     } 
    };