JAVAEE——文件IO之文件操作

文章目录

文件的创建和销毁

上面我们介绍了文件的读写操作那么文件的创建等的操作如何进行呢?这个操作和上面的就不一样了文件的创建和销毁我们需要用到一个全新的类叫做File类那么我们接下来,来介绍 一下这个类

File概述

Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不

代表真实存在该文件。

那么File有哪些常用属性和构造方法呢?

修饰以及类型 属性 说明
static String pathSeparator 依赖于系统的路径分隔符,String类型的表示
static char pathSeparator 依赖于系统的路径分隔符,char类型的表示

构造方法

签名 说明
File(File parent, String child) 根据父目录 + 孩子文件路径,创建一个新的 File 实例
File(String pathname) 根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径
File(String parent, Stringchild) 根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用路径表示

常用的方法

getAbsolutePath()

该方法时为了获取文件的绝对路径代码如下

java 复制代码
import java.io.File;

public class test_File {
    public static void main(String[] args) {
        File file=new File("d:/test.txt");
        System.out.println(file.getAbsolutePath());
    }
}
exists()

判断该文件 是否存在若是存在则返回true因为我们知道FIle对象存在不代表这个文件在硬盘中就存在。代码如下

java 复制代码
import java.io.File;

public class test_File {
    public static void main(String[] args) {
        File file=new File("d:/test.txt");
        System.out.println(file.exists());
    }
}
isDirectory()

判断该file对象代表的是不是一个文件夹

java 复制代码
import java.io.File;

public class test_File {
    public static void main(String[] args) {
        File file=new File("d:/test.txt");
        System.out.println(file.isDirectory());
    }
}
isFile()

这个跟上面的类似它的目的是判断 是不是一个文件

java 复制代码
import java.io.File;

public class test_File {
    public static void main(String[] args) {
        File file=new File("d:/test.txt");
        System.out.println(file.isFile());
    }
}
createNewFile()

这个方法的目的是为了创建一个文件。并且返回是否创建成功

java 复制代码
import java.io.File;
import java.io.IOException;

public class test_File {
    public static void main(String[] args) throws IOException {
        File file=new File("d:/dest.txt");
        System.out.println(file.createNewFile());
    }
}
delete()

他的作用是删除一个文件并且返回是否删除成功

java 复制代码
import java.io.File;
import java.io.IOException;

public class test_File {
    public static void main(String[] args) throws IOException {
        File file=new File("d:/dest.txt");
        System.out.println(file.delete());
    }
}


我们发现删除成功

deleteOnExit()

它的作用是在jvm运行结束之后删除这个文件,而不是立马删除,它在实际生活中的用处可以参考当我们打开一个docx文件的时候我们发现此时会创建一个副本当我们将这个文件删除后这个副本也被删除了。

java 复制代码
import java.io.File;
import java.io.IOException;

public class test_File {
    public static void main(String[] args) throws IOException, InterruptedException {
        File file=new File("d:/dest.txt");
        file.deleteOnExit();
        Thread.sleep(5000);
    }
}


list()

返回 File 对象代表的目录下的所有文件名

java 复制代码
import java.io.File;
import java.io.IOException;

public class test_File {
    public static void main(String[] args) throws IOException, InterruptedException {
        File file=new File("d:/Test");
        String[] files=file.list();
        for (String filess:files) {
            System.out.println(filess);
        }
    }
}
listFiles()

返回 File 对象代表的目录下的所有文件,以 File 对象表示

java 复制代码
import java.io.File;
import java.io.IOException;

public class test_File {
    public static void main(String[] args) throws IOException, InterruptedException {
        File file=new File("d:/Test");
        File[] files=file.listFiles();
        for (File filess:files) {
            System.out.println(filess.getAbsolutePath());
        }
    }
}
mkdir()

创建 File 对象代表的目录

java 复制代码
import java.io.File;
import java.io.IOException;

public class test_File {
    public static void main(String[] args) throws IOException, InterruptedException {
        File file=new File("d:/Dest");
        file.mkdir();
    }
}
复制代码
想和你在一起只是希望能在生活中可以不会因为不在你身边而对你的困难感到束手无测
相关推荐
DevOpenClub14 分钟前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
心祭丫丫1 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪1 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力1 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力2 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain3762 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven
金銀銅鐵2 小时前
JDK 21 中 List.of 的实现细节:从 List12 到 ListN
java·后端·ai编程
yeccheng4 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀4 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
这个昵称不容易4 小时前
SpringBoot 读书笔记共享平台部署实战:97 个 Java 文件 / 113 个接口 / 10 张表
java·springboot·毕设