Java中File类概述和构造方法、创建功能、判断和获取功能及删除功能

简介: File类概述和构造方法、创建功能、判断和获取功能及删除功能的简单示例

一、File类概述和构造方法

File类介绍:

● 它是文件和目录路径名的抽象表示

● 文件和目录是可以通过File封装成对象的

● 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而以。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的

File类的构造方法:

方法名 说明
File(String pathname) 通过将给定的路径名字字符串转换为抽象路径名来创建新的File实例
File(String parent,String child) 从父路径名字字符串和子路径名字字符串创建新的File实例
File(File parent,String child) 从父抽象路径名和子路径字符串创建新的File实例

实例代码:

public class FileDemo01 { 
    public static void main(String[] args) { 
        //File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的 File 实例。 
        File f1 = new File("E:\\itcast\\java.txt"); 
        System.out.println(f1); 
        //File(String parent, String child):从父路径名字符串和子路径名字符串创建新的File实例。
        File f2 = new File("E:\\itcast","java.txt"); 
        System.out.println(f2); 
        //File(File parent, String child):从父抽象路径名和子路径名字符串创建新的 File实例。 
        File f3 = new File("E:\\itcast"); 
        File f4 = new File(f3,"java.txt"); 
        System.out.println(f4); 
    } 
}

image.gif

二、File类创建功能

方法分类:

方法名 说明
public boolean createNewFile() 当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件
public boolean mkdir() 创建由此抽象路径名命名的目录
public boolean mkdirs() 创建由此抽象路径命名的目录,包括任何必需但不存在的父目录

示例代码:

public class FileDemo02 { 
    public static void main(String[] args) throws IOException { 
        //需求1:我要在E:\\itcast目录下创建一个文件java.txt 
        File f1 = new File("E:\\itcast\\java.txt"); 
        System.out.println(f1.createNewFile()); 
        System.out.println("--------"); 
        //需求2:我要在E:\\itcast目录下创建一个目录JavaSE 
        File f2 = new File("E:\\itcast\\JavaSE"); 
        System.out.println(f2.mkdir()); 
        System.out.println("--------"); 
        //需求3:我要在E:\\itcast目录下创建一个多级目录JavaWEB\\HTML 
        File f3 = new File("E:\\itcast\\JavaWEB\\HTML"); 
        // System.out.println(f3.mkdir()); 
        System.out.println(f3.mkdirs()); 
        System.out.println("--------");
        //需求4:我要在E:\\itcast目录下创建一个文件javase.txt 
        File f4 = new File("E:\\itcast\\javase.txt"); 
        // System.out.println(f4.mkdir()); 
        System.out.println(f4.createNewFile()); 
    } 
}

image.gif

三、File类判断和获取功能

判断功能:

方法名 说明
public boolean isDirectory() 测试此抽象路径名表示的File是否为目录
public boolean isFile() 测试此抽象路径名表示的File是否为文件
public boolean exists() 测试此抽象路径名表示的File是否存在

获取功能:

方法名 说明
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
public String getPath() 将此抽象路径名转换为路径名字符串
public String getName() 返回由此抽象路径名表示的文件或目录的名称
public String[] list() 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
public File[] listFiles() 返回此抽象路径名称表示的目录中的文件和目录的File对象数组

示例代码:

public class FileDemo04 { 
    public static void main(String[] args) { 
        //创建一个File对象 
        File f = new File("myFile\\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:\\itcast"); 
        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()); 
            }
        } 
    } 
}

image.gif

四、File类删除功能

方法分类:

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

示例代码:

public class FileDemo03 { 
    public static void main(String[] args) throws IOException { 
//         File f1 = new File("E:\\itcast\\java.txt"); 
        //需求1:在当前模块目录下创建java.txt文件 
        File f1 = new File("myFile\\java.txt"); 
         System.out.println(f1.createNewFile()); 
        //需求2:删除当前模块目录下的java.txt文件 
        System.out.println(f1.delete()); 
        System.out.println("--------"); 
        //需求3:在当前模块目录下创建itcast目录 
        File f2 = new File("myFile\\itcast"); 
        System.out.println(f2.mkdir()); 
        //需求4:删除当前模块目录下的itcast目录 
        System.out.println(f2.delete()); 
        System.out.println("--------"); 
        //需求5:在当前模块下创建一个目录itcast,然后在该目录下创建一个文件java.txt 
        File f3 = new File("myFile\\itcast"); 
        System.out.println(f3.mkdir()); 
        File f4 = new File("myFile\\itcast\\java.txt");    
        System.out.println(f4.createNewFile());
        //需求6:删除当前模块下的目录itcast 
        System.out.println(f4.delete()); 
        System.out.println(f3.delete()); 
    } 
}

image.gif

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

● 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件,例如:E:\itcast\java.txt

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

目录
相关文章
|
7月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
284 4
|
7月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
336 5
|
7月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
352 1
|
7月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
477 1
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
229 7
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
982 58
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
331 3
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
279 2
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
395 1
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的