• 【Java I/O 流】文件的操作——java.io.File 类详解


    在这里插入图片描述

    ❤️ 个人主页:水滴技术
    🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
    🌸 订阅专栏:Java 教程:从入门到精通


    大家好,我是水滴~~

    最近遇到了一些文件流读写的问题,发现对这块知识掌握的还不够系统,所以花了一些时间将 Java IO 流相关的知识整理了一下,也在这里分享给你们,希望能够有所帮助。

    先来看第一篇:本文讲述了计算机文件的基本知识,以及 Java 中如何使用 File 类来操作文件的。

    第一章 什么是文件

    计算机文件是以计算机硬盘为载体,存储在计算机上的信息集合。文件有很多种类型,例如:文本文件、图片文件、音频文件、视频文件、压缩文件、Word 文件等。

    在这里插入图片描述

    计算机文件又可分为两大类:文本文件和二进制文件。我们知道,计算机文件的存储在物理上是二进制的,所以文本文件和二进制文件的区别并不是物理上,而是在逻辑上。
    文本文件是基于字符编码的文件,常见的编码有 ASCII 编码、UNICODE 编码等。二进制文件是基于值编码的文件,即每个应用有一套自己的编码格式(自定义编码)。

    第二章 File 类

    Java 中 java.io.File 类是文件和目录路径名的抽象表示,用于操作本地文件或目录。该类有四个构造方法,用于创建 File 的实例。

    2.1 构造方法一

    通过路径名字符串创建一个新 File 实例。

    File(String pathname) 
    
    • 1

    例如:

    File file2 = new File("C:/io_demo/file2.txt");
    
    • 1

    2.2 构造方法二

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

    File(File parent, String child);
    
    • 1

    例如:

    File file1 = new File(new File("C:/io_demo"), "file1.txt");
    
    • 1

    2.3 构造方法三

    通过父路径名字符串和子路径名字符串创建一个新 File 实例。

    File(String parent, String child) 
    
    • 1

    例如:

    File file3 = new File("C:/io_demo", "file3.txt");
    
    • 1

    2.4 构造方法四

    通过 URI 实例来创建一个新的 File 实例。

    File(URI uri) 
    
    • 1

    例如:

    File file4 = new File(new URI("file:/C:/io_demo/file4.txt"));
    
    • 1

    第三章 File 类的常用方法

    下面列出了 File 类的一些常用方法:

    3.1 创建目录

    先创建一个指定目录的 File 实例,调用该实例的mkdirsmkdir 方法来创建路径(mkdir 用于创建一级目录;mkdirs 用于创建多级目录,我们一般使用此方法)。

    File file = new File("C:/io_demo/path1");
    file.mkdirs();
    
    • 1
    • 2

    3.2 创建文件

    调用 File 实例的 createNewFile 方法来创建一个空文件。如果文件所属目录不存在,会抛出异常,所以应先创建好目录。

    File file = new File("C:/io_demo/file5.txt");
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.3 是否存在

    调用 File 实例的 exists 方法可以判断该文件或目录是否存在。

    File file = new File("C:/io_demo/file5.txt");
    System.out.println(file.exists());
    
    • 1
    • 2

    3.4 是否为目录

    isDirectory 方法判断 File 是否为目录。

    File file = new File("C:/io_demo/path1");
    System.out.println(file.isDirectory());
    
    • 1
    • 2

    3.5 是否为文件

    isFile 方法判断 File 是否为文件。

    File file = new File("C:/io_demo/file5.txt");
    System.out.println(file.isFile());
    
    • 1
    • 2

    3.6 获取文件名

    getPath 方法获取文件完整路径;getParent 方法获取文件所属目录;getName 方法获取文件名称。

    File file = new File("C:/io_demo/file5.txt");
    System.out.println(file.getPath());
    System.out.println(file.getParent());
    System.out.println(file.getName());
    
    • 1
    • 2
    • 3
    • 4

    3.7 获取最后修改时间

    通过 lastModified 方法获取文件的最后修改时间。返回值为时间戳,可以将其转换为时间字符串。

    File file = new File("C:/io_demo/file5.txt");
    System.out.println(file.lastModified());
    
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(format.format(new Date(file.lastModified())));
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.8 列出目录中所有文件

    通过 list 方法列出所有文件和目录字符串名。

    File file = new File("C:/io_demo");
    for (String s : file.list()) {
        System.out.println(s);
    }
    
    • 1
    • 2
    • 3
    • 4

    3.9 删除文件或目录

    delete 方法用于删除文件或目录。

    File file = new File("C:/io_demo/file5.txt");
    file.delete();
    
    • 1
    • 2

    好了,今天先到这里吧,如果以上内容对你有所帮助,别忘了给我来个关注和三连哦。感谢您的阅读~~

    在这里插入图片描述

  • 相关阅读:
    Project Reactor源码分析-subscribeOn
    JAVAEE:采用HTML和JavaScript实现几个基本的页面
    Python自带单元测试框架UnitTest,如何生成独立的测试报告?
    Java中如何在抽象层统一获取泛型类型
    数据结构初阶——排序
    RPC概览
    纯前端读写文件?
    概述机器学习算法(机器学习)
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于自组网的空地一体化信息系统mf392
    软考-des题目案例
  • 原文地址:https://blog.csdn.net/weixin_67276852/article/details/125619551