本帖最后由 孙旌棋 于 2014-4-21 07:10 编辑
同学, 你的代码已经修改并测试成功, 你看好我的第二十三行代码你是怎么写的, 你if()后面是 ; 程序到这里意味着什么? 相当于这句话执行完毕了就, if()判断根本就没有执行, 第二个if() 确实是可以省略大括号的, 但是前提是执行的语句只能是一句的哦
- //为什么文件夹删不了啊?
- package iofile;
- import java.io.File;
- import java.io.IOException;
- /*
- * 删除一个带内容的文件目录
- *
- * 既然是从里往外删除 就需要用到递给
- */
- public class DeleteFile {
- public static void main(String args[]) throws IOException {
- File f = new File("D:\\abc");
- remove(f);
- }
- // 删除文件夹级里面的内容
- public static void remove(File dir) {
- if (dir.exists()) {
- // 判断文件是否存在
- File arr[] = dir.listFiles();
- for (int x = 0; x < arr.length; x++) {
- if (!arr[x].isHidden() && arr[x].isDirectory())// 文件不是隐藏文件并且是个文件夹
- remove(arr[x]);
- else
- System.out.println(arr[x].delete());
- }
- System.out.println(dir + "+" + dir.delete());// 删除文件夹
- }
- }
- }
复制代码 |