本帖最后由 杜光 于 2013-8-4 10:21 编辑
import java.io.File;
public class RemoveDirTest {
/**
* 需要:删除一个带内容的文件
* 思路:<br>
* 1.深层遍历指定路径<br>
* 2.判断遍历到的对象为文件还是文件夹<br>
* 3.从内到外删除文件。<br>
* 4.最后删除文件夹,一次就够了,只要没有内容
*
*/
public static void main(String[] args) {
File dir = new File("h:\\1");
removeDir(dir);
}
private static void removeDir(File dir) {
File[] files = dir.listFiles();
for(int i = 0; i < files.length; i++){
if(files.isDirectory()){
removeDir(files);
}
else{
System.out.println(files+":"+files.delete());
}
}
System.out.println(dir+":"+dir.delete());
}
}
//我更改了,文件对象路径,然后编译就通过了,结果也正常,但是把路径改回去后,依然有异常,为什么啊?
Exception in thread "main" java.lang.NullPointerException
at com.IO.RemoveDirTest.removeDir(RemoveDirTest.java:27)
at com.IO.RemoveDirTest.removeDir(RemoveDirTest.java:30)
at com.IO.RemoveDirTest.main(RemoveDirTest.java:20)
|