Java 文件操作详解

在 Java 编程中,文件操作是不可或缺的一部分。无论是读取配置文件、写入日志,还是处理用户上传的文件,文件操作都是我们日常开发中频繁使用的功能。为了简化文件操作,我们通常会在项目中创建一个名为 FileUtilFileUtils 的工具类。本文将详细介绍 Java 中的文件操作,从 java.io.File 类到 RandomAccessFile,再到第三方库如 Apache Commons IO 和 Hutool 的使用。

1. java.io.File

java.io.File 类是 Java 中专门用于文件操作的类。需要注意的是,File 类只能对文件本身进行操作,不能对文件内容进行读写。要操作文件内容,必须借助输入输出流(如 FileInputStreamFileOutputStream)。

File 类主要用于文件和目录的创建、查找和删除等操作。它可以表示文件夹(目录)或文件。

1.1 构造方法

File 类提供了三种常用的构造方法:

  1. File(String pathname):通过给定的路径字符串创建 File 实例。
  2. File(String parent, String child):通过父路径字符串和子路径字符串创建 File 实例。
  3. File(File parent, String child):通过父路径 File 对象和子路径字符串创建 File 实例。
/**
 * File类的构造器
 */
private static void testFileConstructors() {
   
    // 文件路径名
    String path = "JavaSE/resourses/123.txt";
    File file1 = new File(path);
    // 文件路径名
    String path2 = "JavaSE/resourses/1/2.txt";
    File file2 = new File(path2);                //-------------相当于JavaSE/resourses/1/2.txt
    // 通过父路径和子路径字符串
    String parent = "JavaSE/resourses/aaa";
    String child = "bbb.txt";
    File file3 = new File(parent, child);       //--------相当于JavaSE/resourses/aaa/bbb.txt
    // 通过父级File对象和子路径字符串
    File parentDir = new File("JavaSE/resourses/aaa");
    String child2 = "bbb.txt";
    File file4 = new File(parentDir, child2);    //--------相当于JavaSE/resourses/aaa/bbb.txt
}

1.2 常用方法

File 类的常用方法主要分为获取功能、判断功能、创建与删除功能、目录遍历等。

  • 获取功能
    • getAbsolutePath():返回文件的绝对路径。
    • getPath():返回文件的构造路径。
    • getName():返回文件或目录的名称。
    • length():返回文件的长度(字节数)。
/**
 * 获取功能
 */
private static void testGetFuncMetonds() {
   
    File f = new File("JavaSE/resourses/aaa/bbb.java");
    System.out.println("文件绝对路径:" + f.getAbsolutePath());
    System.out.println("文件构造路径:" + f.getPath());
    System.out.println("文件名称:" + f.getName());
    System.out.println("文件长度:" + f.length() + "字节");
    File f2 = new File("JavaSE/resourses/aaa");
    System.out.println("目录绝对路径:" + f2.getAbsolutePath());
    System.out.println("目录构造路径:" + f2.getPath());
    System.out.println("目录名称:" + f2.getName());
    System.out.println("目录长度:" + f2.length());
}
  • 判断功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值