File类常用的API

判断文件类型 获取文件信息

在这里插入图片描述

package com.crdfile;


import java.io.File;
import java.text.SimpleDateFormat;
import java.util.SimpleTimeZone;

/**
 * 目标:file类的获取功能的API
 *
 */
public class FileDemo02 {
    public static void main(String[] args) {
        File f = new File("E:/hac/青行灯.png");
        //1.获取绝对路径,以后的文件可能是别人传给你的,你不知道路径
        System.out.println(f.getAbsolutePath());
        //2.获取文件定义的时候使用的路径
        System.out.println(f.getPath());
        //3.获取文件的名词:带后缀
        System.out.println(f.getName());
        //4.获取文件的大小,字节个数
        System.out.println(f.length());
        //5.获取文件的最后修改时间
        long time = f.lastModified();  //目前看不懂,返回的是long          (年/月/日   小时/分钟/秒数).format(time)
        System.out.println("最后修改时间:"+ new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time)); //把他格式化
        //6.判断文件还是文件夹
        System.out.println(f.isFile());  //true
        System.out.println(f.isDirectory());   //false

        System.out.println("====================================");
        File f2 = new File("file-io-app\\src\\data.txt");
        //1.获取绝对路径,以后的文件可能是别人传给你的,你不知道路径
        System.out.println(f2.getAbsolutePath());
        //2.获取文件定义的时候使用的路径
        System.out.println(f2.getPath());
        //3.获取文件的名词:带后缀
        System.out.println(f2.getName());
        //4.获取文件的大小,字节个数
        System.out.println(f2.length());
        //5.获取文件的最后修改时间
        long time2 = f2.lastModified();  //目前看不懂,返回的是long          (年/月/日   小时/分钟/秒数).format(time)
        System.out.println("最后修改时间:"+ new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time2)); //把他格式化
        //6.判断文件还是文件夹
        System.out.println(f2.isFile());  //true
        System.out.println(f2.isDirectory());   //false

        File file = new File("D:\\");  //文件夹
        System.out.println(file.isFile());      //false
        System.out.println(file.isDirectory());  //true
    }
}

运行结果

E:\hac\青行灯.png
E:\hac\青行灯.png
青行灯.png
488692
最后修改时间:2022/11/26 12:32:39
true
false
====================================
C:\Users\Lenovo\Desktop\java学习\code\JavaSE\file-io-app\src\data.txt
file-io-app\src\data.txt
data.txt
6
最后修改时间:2023/01/30 20:23:35
true
false
false
true

Process finished with exit code 0

创建文件、删除文件功能

在这里插入图片描述

package com.crdfile;

import java.io.File;
import java.io.IOException;

public class FileDemo03 {
    public static void main(String[] args) throws IOException {     //抛出IO流异常
        File f = new File("file-io-app\\src\\data.txt");     //false 如果不抛出异常会报错
        //1.创建文件夹,创建成功返回true,反之,不需要这个,以后文件写出去的时候都会自动创建
        System.out.println(f.createNewFile());
        File f1 = new File("file-io-app\\src\\data02.txt");  //true
        System.out.println(f1.createNewFile());     //创建文件这个api几乎不要,后面io流写数据过程中会自动创建文件
        //2.mkdir创建一级目录
        File f2 = new File("D:/aaa");    //true
        System.out.println(f2.mkdir());
        //3.mkdirs创建多级目录(重点)
        File f3 = new File("D:/aaa/bbb/ccc");
        System.out.println(f3.mkdirs());     //支持多级创建
        //4.删除文件或空文件夹
        System.out.println(f1.delete());   //占用一样可以删除

        //.只能删除空文件夹,不能删除非空文件夹,删非空文件夹要自己写算法
        File f4 = new File("D:/aaa/bbb/ccc");
        System.out.println(f4.delete());  //false


    }
}

遍历文件夹

在这里插入图片描述

package com.crdfile;

import java.io.File;

public class FileDemo04 {
    public static void main(String[] args) {
        //1.定位一个目录
        File f = new File("E:/hac");
       String[] names = f.list();
        for (String s : names) {
            System.out.println(s);
        }
        //2.一级文件对象
        //获取当前目录下所有“一级文件对象”到一个文件对象数组中去返回(重点)
        File[] files = f.listFiles();
        for (File f1 : files) {
            System.out.println(f1.getAbsolutePath());
        }
        //注意,如果目录不存在返回null,
        // 调用的是文件返回null(必须是文件夹)
        //当调用文件是空文件夹,返回一个长度为0的数组
        //当调用者是一个有内容的文件夹是,将里面所欲文件和文件夹路径放到File数组中返回,包含隐藏内容

    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值