1.在实现上传功能时,总会用到检查指定目录是否存在,如果存在,删除并重新创建一个空的文件夹
/**
*
* TODO 判断文件夹是否存在,如果存在删除,并重新创建一个空的文件夹
*
* @author eagle
* @param path 文件路径
*/
private void createFolder(String path)
{
File folder = new File(path);
if (folder.exists())
{
File[] files = folder.listFiles();
for (int i = 0; i < files.length; i++)
{
// 删除子文件
if (files[i].isFile())
{
// 路径为文件且不为空则进行删除
if (files[i].isFile() && files[i].exists())
{
files[i].delete();
}
}
}
}
else
{
// 创建目录
boolean flag = folder.mkdirs();
if (!flag)
{
logger.error("创建目录失败");
}
}
}
2.之前看其他同事写的代码 有下面那样写的,不过,在测试时候 ,会发现有时候文件夹删不掉,原因目前还未找到。记录下
不过,无论是 delete() 还是 deleteOnExit() 均删除不掉文件夹,看网上资料及朋友说,有可能是文件夹是非空文件夹就会删除失败,不过我再测试时,就算是空的文件夹 也会删除失败,没找到原因。
File folder = new File(path);
if (folder.exists())
{
folder.delete();
}
folder.deleteOnExit();
//<span style="font-family: Arial, Helvetica, sans-serif;">创建目录</span>
boolean flag = folder.mkdirs();
if (!flag)
{
logger.error("<span style="font-family: Arial, Helvetica, sans-serif;">创建目录失败</span><span style="font-family: Arial, Helvetica, sans-serif;">");</span>
}
3.有时也会采用 判断文件夹如果不存在,创建文件夹,如果文件存在删除文件 的方式
File folder = new File(path);
if (!folder.exists())
{
// 创建目录
boolean flag = folder.mkdirs();
if (!flag)
{
logger.error("创建目录失败");
}
}
File file = new File(FILEPATH_NEW);
// 如果文件存在
if (file.exists())
{
boolean isDelete = file.delete();
if (!isDelete)
{
logger.error("删除文件失败");
}
}