2011-11-29 69 views
1

我想在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

回答

0

繼從上面我能夠做到以下幾點建議:

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

     } 
    };