Java File类的概述及常用方法使用详解

一、File类的概述和构造方法

public class File

extends Object

implements Serializable, Comparable< File>

File:它是文件目录路径的抽象表示

用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名 有两个组件:

  • 一个可选的与系统有关的前缀 字符串,比如盘符,“/” 表示 UNIX 中的根目录,“\\” 表示 Microsoft Windows UNC 路径名。
  • 零个或更多字符串名称 的序列。

抽象路径名中的第一个名称是目录名,对于 Microsoft Windows UNC 路径名则是主机名。抽象路径名中第一个名称之后的每个名称表示一个目录;最后一个名称既可以表示目录,也可以表示文件。空 抽象路径名没有前缀和名称序列。

构造方法:

方法 说明
File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例
File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
File(URI uri)  通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例

代码示例:

package com.ithmm_01;

import java.io.File;

public class FileDemo01 {
    public static void main(String[] args) {
        //File(String pathname)	通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
        File f1 = new File("E:\\ithmm\\java.txt");
        System.out.println(f1);//重写了toString方法

        //File(String parent, String child)	根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
        File f2 = new File("E\\ithmm\\java.txt");
        System.out.println(f2);

        //File(File parent, String child)	根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
        File f3 = new File("E:\\ithmm");
        File f4 = new File(f3,"java.txt");
    }
}

二、File类创建功能

方法名 说明
boolean createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
boolean mkdir() 创建此抽象路径名指定的目录
boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录

代码示例:

 //需求1:在E\\ithmm目录下创建一个文件java.txt"
        File f1 = new File("E:\\ithmm\\java.txt");
        System.out.println(f1.createNewFile());

控制台输出:true

Java File类的概述及常用方法使用详解_第1张图片

如果文件不存在就创建文件并返回true,如果文件存在就不创建文件,返回false

/需求2:在E\\ithmm目录下创建一个目录JavaSE
        File f2 = new File("E:\\ithmm\\JavaSE");
        System.out.println(f2.mkdir());

控制台输出:true

Java File类的概述及常用方法使用详解_第2张图片

如果目录不存在就创建文件并返回true,如果目录存在就不创建文件,返回false

//需求3:在E\\ithmm目录下创建一个多级目录JavaWEB\\HTML
        File f3 = new File("E:\\ithmm\\JavaWeb\\HTML");
        System.out.println(f3.mkdirs());

Java File类的概述及常用方法使用详解_第3张图片

Java File类的概述及常用方法使用详解_第4张图片

如果目录不存在就创建文件并返回true,如果目录存在就不创建文件,返回false

注意:创建文件就应该使用创建文件的方法,创建目录就必须使用创建目录的方法

三、File类创建和获取功能

方法名 说明
boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录
boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件
boolean exists() 测试此抽象路径名表示的文件或目录是否存在
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
String getPath() 将此抽象路径名转换为一个路径名字符串
String getName()  返回由此抽象路径名表示的文件或目录的名称
String[] list()  返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
File[] listFiles()  返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件

代码示例:

package com.ithmm_01;

import java.io.File;

public class FileDemo03 {
    public static void main(String[] args) {
        //创建一个File对象
        File  f= new File("Io\\java.txt");
        // boolean isDirectory() | 测试此抽象路径名表示的文件是否是一个目录。
        //  boolean isFile() |  测试此抽象路径名表示的文件是否是一个标准文件。
        // boolean exists() | 测试此抽象路径名表示的文件或目录是否存在。
        System.out.println(f.isDirectory());//false
        System.out.println(f.isFile());//true
        System.out.println(f.exists());//true

        // String getAbsolutePath() |返回此抽象路径名的绝对路径名字符串。
        //  String getPath() |将此抽象路径名转换为一个路径名字符串。
        // String getName() |返回由此抽象路径名表示的文件或目录的名称。
        System.out.println(f.getAbsoluteFile());//E:\ideaTest\Io\java.txt
        System.out.println(f.getPath());//Io\java.txt
        System.out.println(f.getName());//java.txt

        //  String[] list() |返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
        // File[] listFiles() |返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
        File f2 = new File("E:\\ithmm");
        String[] list = f2.list();
        for(String s : list){
            //System.out.println(s);
            //java.txt
            //java.txt
            //JavaSE
            //JavaWeb
        }

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


    }
}

四、File类的删除功能

方法 说明
boolean delete() 删除此抽象路径名表示的文件或目录。

绝对路径和相对路径的区别

绝对路径:完整的路径名,不需要任何的其他信息就可以定位它所表示的文件。

相对路径:必须使用取自其他路径的信息进行解释。

删除目录的注意事项:

如果一个目录中有内容(目录,文件),不能直接删除。应该先删除该目录下的内容,最后删除该目录

代码示例:

package com.ithmm_01;

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

public class FileDemo04 {
    public static void main(String[] args) throws IOException {
        //需求1:在当前模块目录下创建java.txt 文件
        File f =  new File("Io\\java.txt");

        //需求2:删除当前模块目录下的java.txt 文件
        System.out.println(f.delete());

        //需求3:在当前模块目录下创建ithmm目录
        File f2 = new File("Io\\ithmm");
       // System.out.println(f2.mkdir());
        System.out.println(f2.delete());

        //需求4:在当前模块目录下创建ithmm,然后在该目录下创建一个文件java.txt
        File f3 = new File("Io\\ithmm");
        System.out.println(f3.mkdir());
        File f4 = new File("Io\\ithmm\\java.txt");
        System.out.println(f4.createNewFile());

        
        //需求6:删除当前目录ithmm,首先要删除该目录下的文件
        System.out.println(f4.delete());
        System.out.println(f3.delete());
    }
}

以上就是Java File类的概述及常用方法使用详解的详细内容,更多关于Java File类的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(Java File类的概述及常用方法使用详解)