File类

本文主要内容:

(1)File类
(2)File类主要方法

1.I/O相关
流:数据流动
数据流动的方向:读数据(输入input)、写数据(输出output)
文件流、字符流、对象流、网络流
2.文件
(1)文件:电脑中的存储的形式,文件有不同的格式:.txt/.doc/.ppt/.mp4…
(2)文件夹:目录路径
(3)File:与电脑上的文件或文件夹产生一一对应的映射关系,它是一个类,在java.io包中,它是文件或目录路径名的抽象表示形式
(4)File与真实硬盘中的文件或文件夹不是一个东西,File是在内存中的一个对象,它可以映射为硬盘上的文件或文件夹
(5)File类中的常用方法
boolean = canRead();boolean = canWrite();boolean = isHidden();
boolean = isFile();boolean = isDirectory();
long = length();获取文件中字节的个数
long = lastModified();获取文件最后修改的时间(毫秒值)
String path = getAbsolutionPath();获得文件的绝对路径
String name= getName();获取文件的名字

public class TestFile {
    public static void main(String[] args) {
        File file = new File("D://test//Test.txt");
        System.out.println(file.canRead());//T
        System.out.println(file.canWrite());//T
        System.out.println(file.canExecute());//T
        System.out.println(file.isFile());//T
        System.out.println(file.isDirectory());//F
        System.out.println(file.isHidden());//F
        long l = file.length();
        System.out.println(l);//0
        long time = file.lastModified();
        Date date = new Date(time);
        System.out.println(time);//1573472562528
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
        System.out.println(sdf.format(date));//2019-42-11 07:42:42
        String name = file.getName();
        System.out.println(name);//Test.txt
        String path = file.getAbsolutePath();
        System.out.println(path);//D:\test\Test.txt——>绝对路径
        File file1 = new File("test//Test.txt");
        String path1 = file1.getAbsolutePath();
        System.out.println(path1);
        //D:\Java代码\practice01\IdeaProjects\practice\test\Test.txt
    }
}

(6)绝对路径与相对路径的区别
绝对路径:可以通过完整的字符串定位盘符、文件夹、文件
相对路径:没有盘符的写法,当前工程(项目)所在的位置找寻
(7)File类的重要方法
boolean = createNewFile();创建新的文件
boolean = mkdir();创建新的文件夹,外层没有,不能创建
boolean = mikdirs();创建新的文件夹,外层没有,可以自动创建
String pname = getParent();获取当前file的父亲file的名字
File file = getParentFile();获取当前file的父亲file对象
String[] names = list();获取当前file的所有儿子名字
File[] files = listFile();获取当前file的所有儿子对象
boolean = delete();删除文件或空的文件夹,不能删除带元素的文件夹

public class TestFile1 {
    public static void main(String[] args) {
        File file = new File("D://test//abc.txt");
        try {
            boolean value = file.createNewFile();
            System.out.println(value);//T
        } catch (IOException e) {
            e.printStackTrace();
        }
        String name = file.getParent();
        System.out.println(name);//D:\test
        File file2 = file.getParentFile();//D:\test
        System.out.println(file2.getAbsolutePath());
        File file1 = new File("D://test//bbb//inner");
        boolean value = file1.mkdir();//F需要外层父元素正式存在
        System.out.println(value);
        boolean value1 = file1.mkdirs();
        //可以创建文件夹,如果外层也没有,也会同时创建
        System.out.println(value1);//T
        //遍历寻找父类
        File newFile = new File("D://test//bbb//inner");
        File pFile = newFile.getParentFile();
        while (pFile!=null){
            System.out.println(pFile.getAbsolutePath());
            pFile = pFile.getParentFile();
            //D:\test\bbb
            //D:\test
            //D:\
        }
        File file3 = new File("D://test//bbb//inner");
        File[] files = file3.listFiles();
        //数组对象为空,证明当前file3是一个文件
        //数组对象不为空,证明当前file3是一个文件夹
        //数组对象长度不为0,证明当前file3不是一个空的文件夹,文件夹中有元素
        System.out.println(files.length);//0
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值