Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在调用FileUtils.saveAndUnzipToTempDir后删除文件夹_Java_Delete File_Fileutils - Fatal编程技术网

Java 如何在调用FileUtils.saveAndUnzipToTempDir后删除文件夹

Java 如何在调用FileUtils.saveAndUnzipToTempDir后删除文件夹,java,delete-file,fileutils,Java,Delete File,Fileutils,我正在使用FileUtils.saveAndUnzipToTempDir将文件夹/文件解压缩到临时目录,我想在完成文件夹的浏览后删除该文件夹 我没有很好的java体验,但我认为saveAndUnzipToTempDir进程尚未完成,不知道如何等待进程完成,或者如何终止它: 这是我的代码: public boolean postFile(@RequestParam String filename, @RequestParam MultipartFile file) { FileResults

我正在使用
FileUtils.saveAndUnzipToTempDir
将文件夹/文件解压缩到临时目录,我想在完成文件夹的浏览后删除该文件夹

我没有很好的java体验,但我认为
saveAndUnzipToTempDir
进程尚未完成,不知道如何等待进程完成,或者如何终止它:

这是我的代码:

public boolean postFile(@RequestParam String filename, @RequestParam MultipartFile file) {

  FileResultsDTO fileResultsDTO = FileUtils.saveAndUnzipToTempDir(file, filename);

  for(String fileName : fileResultsDTO.getUnzipDir().list()){
     // do something.
  }

  //Find the temp folder where the other files/folders are uploaded and 
  //deleted those
  File directory = new File(FileUtils.getTempDirectoryPath());
  FileUtils.deleteDirectory(directory);
  FileUtils.forceDelete(directory);
  delete(directory);
}


public static void delete(File file)
    throws IOException {

    if(file.isDirectory()){

        //directory is empty, then delete it
        if(file.list().length==0){

            FileDeleteStrategy.FORCE.delete(file);
            FileUtils.deleteQuietly(file);
            file.delete();
            System.out.println("Directory is deleted : "
                + file.getAbsolutePath());

        }else{

            //list all the directory contents
            String files[] = file.list();

            for (String temp : files) {
                //construct the file structure
                File fileDelete = new File(file, temp);

                //recursive delete
                delete(fileDelete);
            }

            //check the directory again, if empty then delete it
            if(file.list().length==0){
                FileDeleteStrategy.FORCE.delete(file);
                FileUtils.deleteQuietly(file);
                file.delete();
                System.out.println("Directory is deleted : "
                    + file.getAbsolutePath());
            }
        }

    }else{
        //if file, then delete it
        FileDeleteStrategy.FORCE.delete(file);
        FileUtils.deleteQuietly(file);


        file.delete();
        System.out.println("File is deleted : " + file.getAbsolutePath());
    }
}
因此,如果您仔细查看代码,您可以看到我也尝试使用:

 FileDeleteStrategy.FORCE.delete(file);
 FileUtils.deleteQuietly(file);
 file.delete();