首先java的file只提供了一个删除空目录的方法delete(文件可以直接删除),所以要删除一个目录:
列出该目录下的所有文件和目录,循环判断是文件还是目录,如果是文件可以直接删除,如果是目录,则采用递归的方法来删除。直到将该目录全部清空,然后再调用delete方法来删除该目录
[code]
File f=new File("filename");
boolean b=deleteFloder(f);
public boolean deleteFloder(File f)
{
boolean rtn=true;
File[] allFiles=f.listFiles();
for(int i=o;i<allFiles.length;i++)
{
if(rtn)
{
if(allFiles[i].isDirectory())
{
rtn=deleteFolder(allFiles[i]);
}
else if(allFiles[i].isFile())
{
try{
if(!allFiles[i].delete())
{
rtn=false;
}
}
catch(Exception e)
{
rtn=false;
}
}
}
else
{
break;
}
}
if(rtn)
{
f.delete();
}
return rtn;
}
[/code]
列出该目录下的所有文件和目录,循环判断是文件还是目录,如果是文件可以直接删除,如果是目录,则采用递归的方法来删除。直到将该目录全部清空,然后再调用delete方法来删除该目录
[code]
File f=new File("filename");
boolean b=deleteFloder(f);
public boolean deleteFloder(File f)
{
boolean rtn=true;
File[] allFiles=f.listFiles();
for(int i=o;i<allFiles.length;i++)
{
if(rtn)
{
if(allFiles[i].isDirectory())
{
rtn=deleteFolder(allFiles[i]);
}
else if(allFiles[i].isFile())
{
try{
if(!allFiles[i].delete())
{
rtn=false;
}
}
catch(Exception e)
{
rtn=false;
}
}
}
else
{
break;
}
}
if(rtn)
{
f.delete();
}
return rtn;
}
[/code]