File类

创建File对象的方法

// 1、创建File对象,去获取某个文件的信息
File f1 = new File("E:\\Pictures\\dog.jpeg");//为什么是两条杠,因为\n是换行符,但是n有可能是路径的一部分。所以矛盾,故用\\来代表“进入”

// 2、可以使用相对路径定位文件对象
        // 绝对路径:只要带盘符的都是绝对路径 E:\Pictures\dog.jpeg
        // 相对路径:不带盘符。默认是到你的idea工程下直接寻找文件的,一般用来找工程下的项目文件
//        File f2 = new File("D:\\code\\javaseprojectaimax\\day03-file-io\\src\\dlei01.txt");  绝对路径
        File f2 = new File("day03-file-io\\src\\dlei01.txt");

File提供的判断文件类型,获取文件信息的方法

System.out.println(f1.length());//字节个数
System.out.println(f1.getName());//获取文件名
System.out.println(f1.isFile()); //判断是否是文件
System.out.println(f1.isDirectory());//判断是否是文件夹

File提供的创建和删除文件/文件夹的方法

//3、创建对象代表不存在的文件路径
File f3 = new File("E:\\Pictures\\aaa.txt");
System.out.println(f3.exists()); //判断是否存在
System.out.println(f3.createNewFile()); //创建文件,返回创建是否成功

//4、创建对象代表不存在的文件夹路径
File f4 = new File("E:\\Pictures\\bbb");
System.out.println(f4.mkdir());// mkdir只能创建一级文件夹,返回创建是否成功

// 创建多级文件夹
File f5 = new File("E:\\Pictures\\ccc\\ddd\\eee");
System.out.println(f5.mkdirs()); // mkdirs可以创建多级文件夹,返回创建是否成功

// 5、创建File对象代表存在的文件,然后删除它
File f6 = new File("E:\\Pictures\\aaa.txt");
System.out.println(f6.delete());//delete方法只能删除文件和空文件夹

// 6、创建File对象代表存在的文件夹,然后删除它
File f7 = new File("E:\\Pictures\\bbb");
System.out.println(f7.delete()); //只能删除空文件夹

File f8 = new File("E:\\Pictures\\ccc");
System.out.println(f8.delete());

File提供的遍历文件夹的方法

// 8、可以获取某个目录下的全部一级文件名称,无法获取不是一级的文件
File f9 = new File("E:\\Pictures");
String[] names = f9.list(); //list方法获取目录下“所有一级文件名称”到一个字符串数组中返回
for (String name : names) {
    System.out.println(name);
}

// 9、可以获取某个目录下的全部一级文件对象
File[] files = f9.listFiles();
for (File file : files) {
    System.out.println(file.getAbsoluteFile());//获取绝对路径
}

使用listFiles方法的注意事项

package com.itheima.demo1file;

import java.io.File;
import java.util.Arrays;

public class FileDemo2 {
    public static void main(String[] args) {
        //目标: 掌握listFiles方法的注意事项
        /*
         *使用listFiles方法时的注意事项:
         *1、当主调是文件,或者路径不存在时,返回null
         *2、当主调是空文件夹时,返回一个长度为0的数组
         *3、当主调是一个有内容的文件夹时,将里面所有一级文件和文件夹的路径放在File数组中返回
         *4、当主调是一个文件夹,且里面有隐藏文件时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
         *5、当主调是一个文件夹,但是没有权限访问该文件夹时,返回null
         */
        File f1 = new File("E:\\Pictures\\01a.txt");
        //listFiles方法正常情况下,可以获取某个目录下的全部一级文件对象,返回File类型数组
        System.out.println(f1.listFiles());//当主调是文件,或者路径不存在时,返回null

        File f2 = new File("E:\\Pictures\\ccc");
        File[] files = f2.listFiles();
        System.out.println(Arrays.toString(files));//当主调是空文件夹时,返回一个长度为0的数组:[]

        File f3 = new File("E:\\Pictures\\bbb");
        File[] files1 = f3.listFiles();
        System.out.println(Arrays.toString(files1)); //[E:\Pictures\bbb\hah.txt, E:\Pictures\bbb\jjj.txt]
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值