Java基础知识之File类

Java基础知识之File类,第1张

Java基础知识之File类

目录

前言

File类概述

File类构造方法

File类创建功能

File类判断和获取功能

File类删除功能

绝对路径与实际路径


前言

        Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录。通过构造方法创建一个File对象。通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。


File类概述

1)什么是File类?

  • 它是文件和目录路径名的抽象表示,文件和目录是可以通过File封装成对象的
  • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的 *** 作把这个路径的内容转换为具体存在的

2)File类作用是什么?

  • 创建、删除、判断、获取信息

3)File类是一种流吗?

  • File是一个类,不是一种流,声明在java.io下

File类构造方法

通过将给定路径名字符串转换成抽象路径名来创建一个新的File 实例

File(String pathname)

通过给定的父抽象路径名和子路径名字符串创建一个新的File实例

File(String parent, String child)

从父抽象路径名和子路径名字符串创建新的 File实例

File(File parent, String child)

public class FileDemo01 {
    public static void main(String[] args) {
        //File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
        File f1 = new File("D:\file\java.txt");

        //File(String parent, String child):从父路径名字符串和子路径名字符串创建新的 File实例。
        File f2 = new File("D:\file","java.txt");

        //File(File parent, String child):从父抽象路径名和子路径名字符串创建新的 File实例。
        File f3 = new File("D:\file");
        File f4 = new File(f3,"java.txt");
    }
}

注:需要指向一个文件时,使用这三个构造方法均可,第一个方便、简单一些。


File类创建功能

创建File对象成功后,可以调用方法来创建目录或文件,方法如下:

当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件

public boolean createNewFile()

创建由此抽象路径名命名的目录

public boolean mkdir()

创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录 (多级目录)

public boolean mkdirs()

public class FileDemo02 {
    public static void main(String[] args) throws IOException {
        //需求1:在D:\file目录下创建一个文件java.txt
        File f1 = new File("D:\file\java.txt");
        f1.createNewFile();

        //需求2:在D:\file目录下创建一个目录JavaSE
        File f2 = new File("D:\file\JavaSE");
        f2.mkdir();
        
        //需求3:在D:\file目录下创建一个多级目录JavaWEB\HTML
        File f3 = new File("D:\file\JavaWEB\HTML");
        f3.mkdirs();
        
        //需求4:我要在E:\file目录下创建一个文件javase.txt
        File f4 = new File("D:\file\javase.txt");
        //System.out.println(f4.mkdir());
        //创建不成功,因为没调用创建文件的方法
        f4.createNewFile();
    }
}

 注:创建文件或目录时当且仅当实例对象代表的文件不存在时才可以创建新文件;并且应调用对应的创建方法,否则也创建不成功。


File类判断和获取功能

当我们创建完文件或目录等,此时我们可以使用File类里的方法来判断它们是否存在,并且可以获取它们在控制台输出,方法如下:

  • 判断功能

测试此抽象路径名表示的File是否为目录

public boolean isDirectory()

 测试此抽象路径名表示的File是否为文件

public boolean isFile()

测试此抽象路径名表示的File是否存在

public boolean exists()

  • 获取功能

返回此抽象路径名的绝对路径名字符串

public String getAbsolutePath()

将此抽象路径名转换为路径名字符串

public String getPath()

返回由此抽象路径名表示的文件或目录的名称

public String getName()

返回此抽象路径名表示的目录中的文件和目录的名称字符串数组

public String[] list()

返回此抽象路径名表示的目录中的文件和目录的File对象数组

public File[] listFiles()

public class FileDemo03 {
    public static void main(String[] args) {
        //创建一个File对象
        File f = new File("D:\java.txt");

        //public boolean isDirectory():测试此抽象路径名表示的File是否为目录
        //public boolean isFile():测试此抽象路径名表示的File是否为文件
        //public boolean exists():测试此抽象路径名表示的File是否存在
        System.out.println(f.isDirectory());
        System.out.println(f.isFile());
        System.out.println(f.exists());

        //public String getAbsolutePath():返回此抽象路径名的绝对路径名字符串
        //public String getPath():将此抽象路径名转换为路径名字符串
        //public String getName():返回由此抽象路径名表示的文件或目录的名称
        System.out.println(f.getAbsolutePath());
        System.out.println(f.getPath());
        System.out.println(f.getName());
        System.out.println("--------");

       //public String[] list():返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
        //public File[] listFiles():返回此抽象路径名表示的目录中的文件和目录的File对象数组
        File f2 = new File("E:\file");

        String[] strArray = f2.list();
        for(String str : strArray) {
            System.out.println(str);
        }
        System.out.println("--------");

        File[] fileArray = f2.listFiles();
        for(File file : fileArray) {
            //System.out.println(file);
            //System.out.println(file.getName());
            if(file.isFile()) {
                System.out.println(file.getName());
            }
        }
    }
}


File类删除功能

当你想删除文件或目录时,直接调用delete()方法即可。

删除由此抽象路径名表示的文件或目录

public boolean delete() 

注:若一个目录中有内容(目录、文件),该目录不能被直接删除;应该先删除目录中的内容,该目录此时才能被删除


绝对路径与实际路径
  • 绝对路径

完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:D:filejava.txt

从根目录为起点到某一个目录的路径;(例如:windows系统中路径是以驱动盘开始的就是绝对路径)

  • 相对路径

必须使用取自其他路径名的信息进行解释。例如:Test8\java.txt

从一个目录为起点到另外一个的目录的路径

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存