java中的File类--IO流(文件操控者)

前言必读

读者手册(必读)_云边的快乐猫的博客-CSDN博客

一、概念

1.File位置?

答:在包java.io.File下,代表操作系统的文件对象(文件、文件夹)

2.File类可以干嘛?

答:可以:创建文件、文件夹、定位文件、删除、获取文本本身信息等功能操作。不可以读取文件本身内容。

3.如果要读取文件中的数据怎么办?

答:用IO流:可以对硬盘中的数据进行读写

4.绝对路径和相对路径

绝对路径:从盘符开始

相对路径:不带盘符。默认直接到当前工程下的目录寻找文件

二、例子展示

例子:

1.绝对路径和相对路径的各种查看方法

package bao;
import java.io.File;
import java.text.SimpleDateFormat;

public class Test {
    public static void main(String[] args) {
        //绝对路径(指在本电脑上面能用的路径)
        //创建对象。储存地址文件的属性-安全
        File f1 = new File("D:\\图片\\壁纸\\巴蛇.jpg");

        //1.获取文件绝对路径
        System.out.println(f1.getAbsolutePath());//D:\图片\壁纸\巴蛇.jpg
        //2.获取文件定义使用的路径
        System.out.println(f1.getPath());//D:\图片\壁纸\巴蛇.jpg
        //3.获取文件的名称,带后缀
        System.out.println(f1.getName());//巴蛇.jpg
        //4.获取文件的字节大小
        System.out.println(f1.length());//4409079
        //5.获取文件的最后修改时间
        long time = f1.lastModified();
        System.out.println(time);//1658643818000
        //上面时间看不懂,那就修改成能看懂的格式
        System.out.println("最后修改的时间为"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time));//最后修改的时间为2022/07/24 14:23:38
        //6.判断是不是文件
        System.out.println(f1.isFile());//true
        //7.判断是不是文件夹
        System.out.println(f1.isDirectory());//false
        //8.测试此抽象路径的File是否存在
        System.out.println(f1.exists());//false

        System.out.println("=====================================================================================");

        //相对路径
        //创建对象。储存地址:1.idea文件  2.Copy Path 3.选择带有地址的第一个  4.复制进去后,模块前面的全删了
        //这里相对路径返回来结果如果是1970等异常的话,就在new创建文件这里添加上盘符就正常了
        File f2 = new File("D:\\java_base\\SE\\src\\QQ");//本应是SE\src\QQ,为了显示时间和字节正常才这样

        //1.获取文件绝对路径
        System.out.println(f2.getAbsolutePath());//D:\java_base\SE\src\QQ
        //2.获取文件定义使用的相对路径
        System.out.println(f2.getPath());//D:\java_base\SE\src\QQ
        //3.获取文件的名称,带后缀
        System.out.println(f2.getName());//QQ
        //4.获取文件的字节大小
        System.out.println(f2.length());//18
        //5.获取文件的最后修改时间
        long time1 = f2.lastModified();
        System.out.println(time1);//1662306438640
        //上面时间看不懂,那就修改成能看懂的格式
        System.out.println("最后修改的时间为"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time1));//最后修改的时间为2022/09/04 23:47:18
        //6.判断是不是文件
        System.out.println(f2.isFile());//true
        //7.判断是不是文件夹
        System.out.println(f2.isDirectory());//false
        //8.测试此抽象路径的File是否存在
        System.out.println(f2.exists());//true
    }
}

运行结果:

D:\图片\壁纸\巴蛇.jpg
D:\图片\壁纸\巴蛇.jpg
巴蛇.jpg
4409079
1658643818000
最后修改的时间为2022/07/24 14:23:38
true
false
true
=====================================================================================
D:\java_base\SE\src\QQ
D:\java_base\SE\src\QQ
QQ
18
1662306438640
最后修改的时间为2022/09/04 23:47:18
true
false
true 

2.创建文件和删除文件

package bao;

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

public class Test {
    public static void main(String[] args) throws IOException {
        //1.创建新文件,成功返回true。不成功返回false的对象,出现异常抛出就好alt+回车键
        File f = new File("D:\\java_base\\SE\\src\\bao\\大哥.txt");
        System.out.println(f.createNewFile());//true
        //2.创建一级目录,只能创建一级目录
        File f2 = new File("D:\\新建文件夹");
        System.out.println(f2.mkdir());//true。成功建立起来本地文件夹
        //3.创建多级目录
        File f3 = new File("D:\\新建文件夹2\\aa\\bb\\cc");
        System.out.println(f3.mkdirs());//true。成功建立起来本地文件夹
        //4.删除文件,本地绝对文件和相对文件都可以删除,强力删除,回收站里面都不剩,好东西
        //不能删除非空文件夹
        File f4 = new File("D:\\java_base\\SE\\src\\bao\\大哥.txt");
        System.out.println(f4.delete());//true
    }
}

 运行结果:

true
true
true
true

3.遍历方法(打标:在里面的遍历文件夹很像爬虫可以获取数据)

package bao;

import java.io.File;
public class Test {
    public static void main(String[] args) {
        //绝对路径

        //new一个要使用的文件夹对象
        File f = new File("D:\\图片");
        //1.简单遍历。获得当前文件夹下的子文件
        // 文件数据赋值给集合列表
        String[] name = f.list();
        for (String names : name) {
            System.out.println(names);
        }
        //2.获取一级文件的全部绝对路径(常用)
        File[] f2 = f.listFiles();
        for (File file : f2) {
            System.out.println(file);
        }
    }
}

运行结果:

风景
头像
D:\图片\风景
D:\图片\头像

listFiles注意事项:

1.当调用者不存在时,返回null

2.当调用者是一个文件时,返回null

3.当调用者是一个空文件夹时,返回一个长度为0的数组

4.当调用者是一个隐藏的文件夹时,里面的隐藏内容也会被调用出来(这个可以查看隐藏文件夹中内容了)

5.需要权限的文件夹,返回null

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云边的快乐猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值