Java IO流 File类

File类

1. 可以操作文件
2. 可以操作文件夹 
3. 可以操作文件的路径
        // File 的静态成员变量
        // 不同平台下 获取的路径分隔符不同
        // mac系统下 路径分隔符:(冒号)
        // win 系统下 路径分隔符 ; (分号)
        String pathseparator = File.pathSeparator;
        System.out.println(pathseparator);
        // 分隔符 
        // mac 系统 /
        // windows 系统 \
        String separator = File.separator;
        System.out.println(separator);
        // 构造方法
        /*
         * 绝对路径
         * 磁盘上的路径 并且这个路径是唯一的
         * 相对路径
         * 相当路径是有参照物 
         * 
         */
        File file = new File("/Users/C/Desktop/Test");
        System.out.println(file);
        // 判断该路径是否存在
        boolean b1 = file.exists();
        System.out.println(b1);
        // 使用相对路径 参照物当前工程根目录
        File file1 = new File("src/test.txt");
        // 打印绝对路径
        System.out.println(file1.getAbsolutePath());
        boolean b2 = file1.exists();
        System.out.println(b2);

        // 构造方法2
        String parent ="/Users/C/Desktop";
        String child ="Test";
        File file2 = new File(parent, child);
        System.out.println(file2);
        boolean b3 = file2.exists();
        System.out.println(b3);

        // 构造方法3
        File f = new File(parent);
        File file3 = new File(f, child);
        System.out.println(file3);
        public static void fun() throws IOException {
        // 创建文件方法
        // 文件唯一 不会再次创建
        // 方法创建文件 无论有没有后缀名
        File file = new File("/Users/C/Desktop/Test/haha/");
        boolean createNewFile = file.createNewFile();
        System.out.println(createNewFile);
        // 需求:在工程的src路径创建 dp.txt
        File file1 =  new File("src/dp.txt");
        boolean b2 = file1.createNewFile();
        System.out.println(b2);
        // 创建文件夹
        // 方法创建文件夹 无论有无后缀名
        // mkdir() 只能创建单层文件夹 
        // mkdirs() 可以创建多层文件夹
        File file2 = new File("/Users/C/Desktop/Test/s");
        boolean mkdir = file2.mkdirs();
        System.out.println(mkdir);
    }
        // 删除
        // 只能删除单层文件夹
        File file = new File("/Users/C/Desktop/Test/s/haha");
        boolean delete = file.delete();
        System.out.println(delete);
        // 获取路径 (和toString相同 输出路径 不会判断文件是否存在)
        File file = new File("/Users/C/Desktop/Test/www.txt");
        String path = file.getPath();
        System.out.println(path);
        // 获取文件名字
        String name = file.getName();
        System.out.println(name);
        // 获取文件长度 获取文件所占字节
        long length = file.length();
        System.out.println(length);
        // 获取父级路径
        File parentFile = file.getParentFile();
        System.out.println(parentFile);
        // 路径下的所有文件及文件夹的名字(单层) 以字符串形式显示
        File file = new File("/Users/C/Desktop/Test");
        String[] list = file.list();
        for (String string : list) {
            System.out.println(string);
        }

        // 获取该路径下 文件的全路径(单层) 文件对象形式
        File[] listFiles = file.listFiles();
        for (File f : listFiles) {
            System.out.println(f);
        }

    public static void getFileName(File file) {
        File[] listFiles = file.listFiles();
        for (File f : listFiles) {
            if (f.isDirectory()) {
                getFileName(f);
            }else {
                System.out.println(f);
            }
        }
    }

    // 需求遍历打印Test文件夹下所有文件和文件夹
        File file = new File("/Users/C/Desktop/Test");
        getFileName(file);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值