如何删除目录中上传的相同文件?
how to delete the same file which is uploaded in a directory?
存在文件夹temp,用户上传的文件存放在该文件夹中。每个用户的文件名相同,但内容不同。每个用户上传一个名为 abc.xlsx 的文件。现在,当 "A" 用户上传 abc.xlsx 文件后,该文件应该被删除。但目前我正在删除文件夹中的所有文件。这是一个问题,因为另一个用户可能正在上传该文件,该文件也将被清除。所以我正在考虑通过将用户名附加到文件来重命名文件,然后删除该特定文件。
这是文件上传:
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");
}
存在文件夹temp,用户上传的文件存放在该文件夹中。每个用户的文件名相同,但内容不同。每个用户上传一个名为 abc.xlsx 的文件。现在,当 "A" 用户上传 abc.xlsx 文件后,该文件应该被删除。但目前我正在删除文件夹中的所有文件。这是一个问题,因为另一个用户可能正在上传该文件,该文件也将被清除。所以我正在考虑通过将用户名附加到文件来重命名文件,然后删除该特定文件。
这是文件上传:
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");
}