[泛型与File]File类的常用方法

本文详细介绍了Java中File类的使用,包括获取文件的绝对路径、路径、名称、上层目录,以及文件长度和最后修改时间。此外,还讨论了获取目录下的文件名数组和File对象数组的方法,文件的重命名、判断功能,以及创建、删除文件和目录的操作。通过示例代码展示了File类的各种功能,是理解Java文件操作的重要参考资料。
   /*
    File类的获取功能
    public String getAbsolutePath(): 获取绝对路径
    public String getPath(): 获取路径
    public String getName(): 获取名称
    public String getParent(): 获取上层文件目录路径 若无,返回null
    public long length(): 获取文件长度(即:字节数) 不能获取目录的长度
    public long lastModified(): 获取最后一次的修改时间,毫秒值

    如下的两个方法适用于文件目录:
    public String[] list(): 获取指定目录下的所有文件或者文件目录的名称数组
    public File[] listFiles(): 获取指定目录下的所有文件或者文件目录的File数组
     */

    @Test
    public void test2(){
        File file1 = new File("hello.txt");
        File file2 = new File("E:\\IdeaCode\\hi.txt");

        System.out.println(file1.getAbsolutePath());
        System.out.println(file1.getPath());
        System.out.println(file1.getName());
        System.out.println(file1.getParent());
        System.out.println(file1.length());
        System.out.println(file1.lastModified());

        System.out.println();

        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getPath());
        System.out.println(file2.getName());
        System.out.println(file2.getParent());
        System.out.println(file2.length());
        System.out.println(file2.lastModified());
    }

    @Test
    public void test3(){
        File file = new File("E:\\IdeaCode\\Java");

        String[] list = file.list();
        for (String s : list){
            System.out.println(s);
        }

        File[] files = file.listFiles();
        for (File f : files){
            System.out.println(f);
        }
    }

    /*
    public boolean renameTo(File dest): 把文件重命名为指定的文件路径
    比如:file1.renameTo(file2)为例
         要想保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在
     */
    @Test
    public void test4(){
        File file1 = new File("hello.txt");
        File file2 = new File("E:\\IdeaCode\\hi.txt");

        boolean renameTo = file1.renameTo(file2);
        System.out.println(renameTo);

    }

    /*
    File类的判断功能
    public boolean isDirectory(): 判断是否是文件目录
    public boolean isFile(): 判断是否是文件
    public boolean exists(): 判断是否存在
    public boolean canRead(): 判断是否可读
    public boolean canWrite(): 判断是否可写
    public boolean isHidden(): 判断是否隐藏

     */
    @Test
    public void test5(){
        File file1 = new File("he.txt");

        System.out.println(file1.isDirectory());
        System.out.println(file1.isFile());
        System.out.println(file1.exists());
        System.out.println(file1.canRead());
        System.out.println(file1.canWrite());
        System.out.println(file1.isHidden());
        System.out.println();

        File file2 = new File("E:\\IdeaCode");
        System.out.println(file2.isDirectory());
        System.out.println(file2.isFile());
        System.out.println(file2.exists());
        System.out.println(file2.canRead());
        System.out.println(file2.canWrite());
        System.out.println(file2.isHidden());
    }

    /*
    File类的创建功能
    public boolean createNewFile(): 创建文件 若文件存在,则不创建,返回false
    public boolean mkdir(): 创建文件目录,如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建
    public boolean mkdirs(): 创建文件目录 如果上层文件目录不存在,一并创建

    注意事项:如果创建文件或者文件目录没有写盘符路径,那么默认在项目路径下

    File类的删除功能
    public boolean delete(): 删除文件或者文件夹

    删除注意事项:
    Java中的删除不走回收站
    要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录

     */

    @Test
    public void test6() throws IOException {
        //文件的创建
        File file1 = new File("xx.txt");
        if (!file1.exists()){
            file1.createNewFile();
            System.out.println("创建成功!");
        }else {//文件存在
            file1.delete();
            System.out.println("删除成功!");
        }
    }

    @Test
    public void test7(){
        //文件目录的创建
        File file1 = new File("E:\\love\\doll");
        boolean mkdir = file1.mkdir();
        if (mkdir){
            System.out.println("创建子目录成功!");
        }else {
            System.out.println("创建子目录失败!");
            boolean mkdirs = file1.mkdirs();
            if (mkdirs) {
                System.out.println("创建子父目录成功!");
            }else {
                System.out.println("创建子父目录失败!");
            }
        }
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值