File类

文章介绍了Java编程语言中的File类,用于操作文件和目录。内容包括File类的构造方法,如根据路径创建对象,以及常用API,如判断文件类型、获取文件信息、创建和删除文件。此外,还提到了File类的遍历功能,如获取目录下的文件列表。文章适合Java初学者,帮助他们理解和使用File类进行文件操作。
摘要由CSDN通过智能技术生成

🏡个人主页 :@ 守夜人st
🚀系列专栏:Java
…持续更新中敬请关注…
🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点

✈️推荐一款模拟面试,刷题神器,从基础走向大场面试👉 开启你的刷题之路吧

File类

File类概述

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

File类提供了诸如:定位文件,获取文件本身信息、删除文件、创建文件(文件夹)等方法

File类创建对象

方法名称说明
public File(String pathname)根据文件路径创建文件对象
public Flie(String parent,String child)从父路径名字符串和子路径名字符串创建文件对象
public File(File parent,String child)根据父路径对应文件对象和子路径名字符串创建文件对象
package com.shouyeren.oop.api.File_api;

import java.io.File;

/**
 * 目标:学会创建File对象定位操作系统文件(文件、文件夹)
 */
public class FileDemo {
    public static void main(String[] args) {

        //1.创建File对象(指定了文件路径)
        //路径写法:
        //C:/Users/shouyeren/Pictures/Saved Pictures/1.jpg
        //C:\\Users\\shouyeren\\Pictures\\Saved Pictures\\1.jpg
        //File.separator文件路径分割符
        //File file = new File("C:\\Users\\shouyeren\\Pictures\\Saved Pictures\\1.jpg");
        File file = new File("C:/Users/shouyeren/Pictures/Saved Pictures/1.jpg");
        long size = file.length();//文件的字节大小
        System.out.println(size);//41084

        //2.File创建对象支持绝对路径和相对路径


        //File file1 = new File("E:\\Workspace\\gitee\\JavaSE\\AdvancedStage\\src\\data.txt");绝对路径
        //相对路径:一般定位模块中的文件
        File file1 = new File("src/data.txt");
        long size1 = file1.length();
        System.out.println(size1);

        //3.File创建对象可以是文件也可以是文件夹
        File file2 = new File("D:\\software");
        //判断该文件夹是否存在
        System.out.println(file2.exists());
    }

}

File类的常用API

File类的判断文件类型、获取信息功能

方法名称说明
public boolean isFile()测试此抽象路径名表示的File是否为文件
public boolean isDirectory()测试此抽象路径名表示的File是否为文件夹
public boolean exists()测试此抽象路径名表示的File是否存在
public String getAbsolutePath()返回此抽象路径名的绝对路径名字字符串
public String getPath()将此抽象路径名转换为路径名字字符串
public String getName()返回由此抽象路径名表示的文件或文件夹的名称
public long lastModified()返回文件最后修改的时间毫秒值
package com.shouyeren.oop.api.File_api;

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

/**
 * 测试File类中的一些常用API
 */
public class FileDemo2 {
    public static void main(String[] args) {
        //使用绝对路径的方式创建一个File对象
        File file = new File("C:/Users/shouyeren/Pictures/Saved Pictures/1.jpg");
        //1.获取它的绝对路径
        System.out.println(file.getAbsoluteFile());
        //2.获取文件对象定义时的路径
        System.out.println(file.getPath());
        //3.获取文件名称
        System.out.println(file.getName());
        //4.获取文件大小  字节大小
        System.out.println(file.length());
        //5.获取文件的最后修改时间 毫秒值
        System.out.println("最后修改时间:" + new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(file.lastModified()));
        //6.判断是文件还是文件夹
        System.out.println(file.isFile());
        System.out.println(file.isDirectory());
        System.out.println("------------------------------------------------------");
        //使用相对路径的方式创建一个File对象
        File file1 = new File("src/data.txt");
        //1.获取它的绝对路径
        System.out.println(file1.getAbsoluteFile());
        //2.获取文件对象定义时的路径
        System.out.println(file1.getPath());
        //3.获取文件名称
        System.out.println(file1.getName());
        //4.获取文件大小  字节大小
        System.out.println(file1.length());
        //5.获取文件的最后修改时间 毫秒值
        System.out.println("最后修改时间:" + new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(file1.lastModified()));
        //6.判断是文件还是文件夹
        System.out.println(file1.isFile());
        System.out.println(file1.isDirectory());

    }
}

File类创建文件、删除文件的功能

方法名称说明
public boolean createNewFile()创建一个新的空文件
public boolean mkdir()只能创建一级文件
public boolean mkdirs()可以创建多级文件
public boolean delete()删除由此抽象路径名表示的文件或空文件夹

delete方法直接删除,不进入回收站;如果删除的是一个文件,且文件没有被占用则直接删除。

File类的遍历功能

方法名称说明
public String list()获取当前目录下的所有”一级文件名称“到一个字符串数组去返回
public File[] listFiles()获取当前目录下所有的”一级文件对象“到一个文件对象数组中去返回(这个方法比较常用)
  • 当调用者不存在时,返回null
  • 当调用者是一个文件时,返回null
  • 当调用者是一个空文件夹时,返回一个长度为0的数组
  • 当调用者是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在Flie数组中返回
  • 当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏内容

算法对程序员来说及其重要,语言和开发平台不断变化,但是万变不离其宗的是那些算法和理论,刷算法最最最直白的原因就是找一个好的工作,那刷题一定是必不可少的
现在算法刷题平台还是蛮多的,给大家介绍一个我认为与大厂关联最深的平台——牛客网 跳转链接

在这里插入图片描述

感觉不错的话,动手点个赞吧!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

守夜人st

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

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

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

打赏作者

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

抵扣说明:

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

余额充值