要在Java中平台无关的方式下安全地删除一个非空目录,你还需要一个算法。该算法首先删除文件,然后再从目录树的底部由下至上地删除其中所有的目录。

成都创新互联是一家专业提供克拉玛依企业网站建设,专注与成都做网站、成都网站建设、H5技术、小程序制作等业务。10年已为克拉玛依众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
只要简单地在目录中循环查找文件,再调用delete就可以清除目录中的所有文件:
static public void emptyDirectory(File directory) { |
这个简单的方法也可以用来删除整个目录结构。当在循环中遇到一个目录时它就递归调用deleteDirectory,而且它也会检查传入的参数是否是一个真正的目录。最后,它将删除作为参数传入的整个目录。
static public void deleteDirectory(File dir) throws IOException { |
在Java 1.1以及一些J2ME/PersonalJava的变种中没有File.listFiles方法。所以只能用File.list,它的返回值一个字符串数组,你要为每个字符串构造一个新的文件对象。