【零基础学Java】—File类(五十)

简介: 【零基础学Java】—File类(五十)

一、File类概述

  • java.io.File类,文件和目录路径名的抽象表示形式
  • Java把电脑中的文件和文件夹封装成了一个File类我们可以使用File类对文件和文件夹进行操作
  • 我们可以使用File类的方法:创建一个文件/文件夹;删除文件/文件夹;获取文件/文件夹;判断文件夹是否存在,对文件夹进行遍历以及判断文件夹的大小
  • File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法
  • static String pathSeparator与系统有关的分隔符,为了方便,它被表示为一个字符串
  • static char pathSeparator 一系统有关的路径分隔符
  • static String separator与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串
  • static char separatorChar与系统有关的默认名称分隔符

二、File类中的构造方法

1️⃣File (String pathname):通过给定跳转路径字符串转换为抽象路径来创建一个新file实例

参数:

  • String pathname:字符串的路径名称
  • 路径可以是文件结尾也可以是文件夹结尾
  • 路径可以是相对路径也可以是绝对路径
  • 路径可以是存在,也可以是不存在
  • 创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假情况

2️⃣File(String parent,String child)根据parent路径名字字符串和child路径名字字符串创建一个新File实例

参数:把路径分成两部分

  • String parent:父路径
  • String child:子路径

好处:父路径和子路径可以单独书写,使用起来十分灵活,父路径和子路径都可以变化

3️⃣ File(File parent,String child)根据parent抽象路径名和child路径名字符串创建一个新的File实例

参数:把路径分成了两部分

File parent:父路径

String child:子路径

  • 好处:父路径和子路径可以单独写,使用起来十分的灵活,父路径和子路径都可以变化
  • 父路径是File路径,可以使用File的方法对其进行一些操作,再使用路径创建对象
public class demoFile {
    public static void main(String[] args) {
        String pathSeparator= File.pathSeparator;
        System.out.println(pathSeparator);//路径分隔符Windows ;  Linux :
        String separator=File.separator;
        System.out.println(separator);//文件名称分隔符Windows \(反斜杠) Linux/(正斜杠)
    }
}
import java.io.File;
/**
 * @author :CaiCai
 * @date : 2022/4/16 12:58
 */
public class demoFile1 {
    public static void main(String[] args) {
        demo();
        demo1("c:\\","a.txt");
        demo2();
    }
    private static void demo(){
        File f1=new File("D:\\data");
        System.out.println(f1);//D:\data
    }
    private static void demo1(String parent,String child){
        File f2=new File(parent,child);
        System.out.println(f2);
    }
    private static  void demo2(){
        File parent =new File("c:\\");
        File file=new File(parent,"hello.java");
        System.out.println(file);
    }
}

三、File类获取功能的方法

获取功能的方法

四、判断功能的方法

五、创建删除功能的方法

六、File类遍历

File类遍历目录的功能:

1️⃣public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录.

遍历构造方法遍历的目录,或获取目录中的所有文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中

2️⃣public File[] listFiles():返回一个File数组,表示该File目录中的所有的子文件或目录

注意:

  • list方法和listFiles方法遍历的是构造方法中给出的目录
  • 如果构造方法中给出的目录的路径不存在,会抛出空指针异常
  • 如果构造方法中的路径不是一个目录,也会抛出空指针异常
import java.io.File;
/**
 * @author :CaiCai
 * @date : 2022/4/16 14:33
 */
/*
File类遍历目录的功能:
public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录.
遍历构造方法遍历的目录,或获取目录中的所有文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中
public File[] listFiles():返回一个File数组,表示该File目录中的所有的子文件或目录
注意:
list方法和listFiles方法遍历的是构造方法中给出的目录
如果构造方法中给出的目录的路径不存在,会抛出空指针异常
如果构造方法中的路径不是一个目录,也会抛出空指针异常
 */
public class demoFile6 {
    public static void main(String[] args) {
        show01();
        show02();
    }
    private static void show01() {
        File file = new File("C:\\Program Files (x86)\\Google");
        String[] arr = file.list();
        for (String fileName : arr) {
            System.out.println(fileName);
        }
    }
        private static void show02(){
            File file1 = new File("C:\\Program Files (x86)\\Google");
            File[] files = file1.listFiles();
            for (File f : files) {
                System.out.println(f);
            }
        }
    }


相关文章
|
5天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
2天前
|
人工智能 安全 Java
Java8 - LocalDateTime时间日期类使用详解
Java8 - LocalDateTime时间日期类使用详解
|
3天前
|
安全 Java 程序员
|
4天前
|
Java
Java Class类
Java Class类
8 0
|
10天前
|
Java 编译器
Java Character 类
4月更文挑战第13天
|
11天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
15天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
14 0
|
15天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
18 0
|
16天前
|
安全 Java
append在Java中是哪个类下的方法
append在Java中是哪个类下的方法
23 9
|
17天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
30 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)