Delete a file after a File response

2019-05-31 23:40发布

问题:

I want to delete a file after a Resteasy put request. My code:

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

        ...
   return aFile();
   }

After the return I want to delete aFile() in the filesystem. How can I do that?

回答1:

Following some advice from above I was able to do the following:

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

        }
    };