繁体   English   中英

如何删除目录中上传的相同文件?

[英]how to delete the same file which is uploaded in a directory?

用户上传的文件存储在临时文件夹中。 每个用户的文件名相同,但内容不同。 每个用户上载一个名为abc.xlsx的文件。 现在,当“ A”用户在处理该文件后上载abc.xlsx文件时,应将其删除。 但是目前我正在删除文件夹中的所有文件。 这是一个问题,因为可能会再有一个用户正在上传文件ehich。 因此,我正在考虑通过将用户名附加到文件中来重命名文件,然后删除该特定文件。

这是文件上传:

ProcessForm uploadForm = (ProcessForm)form;

         String folderpath = "servers/temp";
         String filePath = folderpath + "/" + uploadForm.getUploadedFile().getFileName();

这将删除文件夹中的所有文件:

 String tempPath = folderpath; 
            File file = new File(tempPath);
            File[] files = file.listFiles(); 
            for (File f:files) 
            {
                if (f.isFile() && f.exists()) 
                { 
                    f.delete();
}
}

我想我明白了。 这按预期工作:

         String folderpath = "servers/temp";
         String filePath = folderpath + "/" + "abc_"+user.getUsername()+".xlsx";

         outputStream = new FileOutputStream(new File(filePath));
         outputStream.write(uploadForm.getUploadedFile().getFileData());    

删除文件的代码:

        File file = new File(filePath);
        boolean fileDelete = file.delete();

            if (fileDelete) 
            { 
                    mLogger.debug("successfully deleted");
            } else {
                mLogger.error("cant delete a file");
            } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM