|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
删除一个非空目录并不是简朴地创建一个文件对象,然后再调用delete()就可以完成的。要在平台无关的方法下安全地删除一个非空目录,你还需要一个算法。该算法首先删除文件,然后再从目录树的底部由下至上地删除其中所有的目录。 只要简朴地在目录中循环查找文件,再调用delete就可以清除目录中的所有文件: static public void emptyDirectory(File directory) { File[ ] entries = directory.listFiles( ); for(int i=0; i<entries.length; i++) { entries[i].delete( ); } } 这个简朴的方式也可以用来删除整个目录结构。当在循环中碰到一个目录时它就递归调用deleteDirectory,而且它也会检查传入的参数是否是一个真正的目录。最后,它将删除作为参数传入的整个目录。 static public void deleteDirectory(File dir) throws IOException { if( (dir == null) || !dir.isDirectory) { throw new IllegalArgumentException( "Argument "+dir+" is not a directory. " ); } File[ ] entries = dir.listFiles( ); int sz = entries.length; for(int i=0; i<sz; i++) { if(entries[i].isDirectory( )) { deleteDirectory(entries[i]); } else { entries[i].delete( ); } } dir.delete(); } 在Java 1.1以及一些J2ME/PersonalJava的变种中没有File.listFiles方式。所以只能用File.list,它的返回值一个字符串数组,你要为每个字符串构造一个新的文件对象。 返回类别: 教程 上一教程: 让Java程序自带JRE 下一教程: 一个JAVA写的背单词程序 您可以阅读与"使用递归方式删除文件"相关的教程: · 删除文件夹的java类 · 用SERVLETS实现WEB方法的文件下传 · 使用JSP完成文件可定制上载 · 使用FILEFILTER查找文件系统 · 企业内部网中使用POLICY文件来设置JAVA的安全策略 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |