• Java中的目录操作


    创建目录:

    File类中有两个方法可以用来创建文件夹:

    • mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
    • mkdirs()方法创建一个文件夹和它的所有父文件夹。
    import java.io.File;
     
    public class CreateDir {
        public static void main(String args[]) {
            String dirname = "/tmp/user/java/bin";
            File d = new File(dirname);
            // 现在创建目录
            d.mkdirs();
        }
    }

    读取目录

    一个目录其实就是一个 File 对象,它包含其他文件和文件夹。

    如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。

    可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。

    下面展示的例子说明如何使用 list() 方法来检查一个文件夹中包含的内容:

    import java.io.File;
     
    public class DirList {
        public static void main(String args[]) {
            String dirname = "/tmp";
            File f1 = new File(dirname);
            if (f1.isDirectory()) {
                System.out.println("目录 " + dirname);
                String s[] = f1.list();
                for (int i = 0; i < s.length; i++) {
                    File f = new File(dirname + "/" + s[i]);
                    if (f.isDirectory()) {
                        System.out.println(s[i] + " 是一个目录");
                    } else {
                        System.out.println(s[i] + " 是一个文件");
                    }
                }
            } else {
                System.out.println(dirname + " 不是一个目录");
            }
        }
    }

    删除目录或文件

    删除文件可以使用 java.io.File.delete() 方法。

    以下代码会删除目录 /tmp/java/,需要注意的是当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。

    import java.io.File;
     
    public class DeleteFileDemo {
        public static void main(String args[]) {
            // 这里修改为自己的测试目录
            File folder = new File("/tmp/java/");
            deleteFolder(folder);
        }
     
        // 删除文件及目录
        public static void deleteFolder(File folder) {
            File[] files = folder.listFiles();
            if (files != null) {
                for (File f : files) {
                    if (f.isDirectory()) {
                        deleteFolder(f);
                    } else {
                        f.delete();
                    }
                }
            }
            folder.delete();
        }
    }

    参考资料

    菜鸟教程

  • 相关阅读:
    我爬了《流浪地球》十万个短评得出以下结论
    Activiti开发案例之代码生成工作流图片
    Activiti开发案例之activiti-app工作流导出图片
    用MySQL语法建 一个学生表,包括学生姓名、性别、年龄、班级信息。
    事务是什么,以及事务四个特性
    精选30道Java笔试题解答
    父类和子类的构造方法的调用顺序
    Java的修饰符
    volatile修饰符
    Java中普通代码块,构造代码块,静态代码块区别及代码示例
  • 原文地址:https://www.cnblogs.com/xumaomao/p/12818777.html
Copyright © 2020-2023  润新知