目录

一、概述

二、导入 commons-io jar包

1、获取 commons-io jar包

2、导入 commons-io jar 包

三、commons-io 的使用

1、IO 工具类 FilenameUtils

2、IO 工具类 FileUtils


一、概述

commons-IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等。commons-IO 需要加入classpath 的第三方 jar 包内的 class 文件才能在项目中使用

二、导入 commons-io jar包

1、获取 commons-io jar包

网盘获取commons-io-2.4.zip文件:链接:https://pan.baidu.com/s/1M2AdKQvcuwglqv_pKYNxnQ  提取码:2iu8    解压后如下:

Java中commons-IO_FileUtils类

  • commons-io-2.4.jar 就是需要导入到项目中的 jar 包,里面存放的是class文件
  • commons-io-2.4-sources.jar 工具类中原代码
  • docs 是帮助文档

2、导入 commons-io jar 包

我使用的是IDEA,这里讲一下再IDEA 中如何导包,以commons-io jar 包为例

  • 先进入:文件 -> 项目结构(File -> Project Structure)
    Java中commons-IO_FileUtils类_02
  • 再找到:模块 -> 依赖(Modules -> Dependencies),点击最右侧的 + 号
    Java中commons-IO_FilenameUtils类_03
  • 选择 1 或者 2 都行
    Java中commons-IO_jar_04
  • 最后就是找到你解压的commons-io-2.4目录里面的 commons-io-2.4.jar 包,导入,应用,确定即可
三、commons-io 的使用

1、IO 工具类 FilenameUtils

这个工具类是用来处理文件名(文件路径)的,可以轻松解决不同操作系统文件名称规范不同的问题,里面的方法都是静态的,直接用类进行调用

常用方法:

  • getName():获取文件名
  • getExtension(String path):获取文件的扩展名
  • isExtension(String fileName,String ext):判断fileName是否是ext后缀名
public static void main(String[] args)
{
    //getName():获取文件名
    String Filename = FilenameUtils.getName("F:\\TestPath\\FilePrintWriter.txt");
    System.out.println(Filename);

    //getExtension():获取文件后缀名
    String Pathname = FilenameUtils.getExtension("F:\\TestPath\\FilePrintWriter.txt");
    System.out.println(Pathname);

    //isExtension():判断是否是指定的后缀名文件
    boolean b = FilenameUtils.isExtension("F:\\TestPath\\FilePrintWriter.txt","txt");
    System.out.println(b);
}

2、IO 工具类 FileUtils

提供文件操作,如移动文件、读取文件、检查文件是否存在等的方法

常用方法:

  • readFileToString(File file):读取文件内容,并返回一个String
  • writeStringToFile(File file,String content):将内容content写入到file中
  • copyDirectoryToDirectory(File srcDir,File destDir):文件夹复制
  • copyFile(File srcFile,File destFile):文件复制
public static void main(String[] args) throws IOException {
    //readFileToString():读取文件内容,返回一个String
    String s = FileUtils.readFileToString(new File("F:\\TestPath\\FilePrintWriter.txt"));
    System.out.println(s);

    //writeStringToFile():将s2写到file中
    String s2 = "123445oneStar";
    FileUtils.writeStringToFile(new File("F:\\TestPath\\FilePrintWriter.txt"),s2);

    //copyDirectoryToDirectory():文件夹复制
    FileUtils.copyDirectoryToDirectory(new File("F:\\TestPath"),new File("D:\\"));

    //copyFile():文件复制
    FileUtils.copyFile(new File("F:\\TestPath\\FilePrintWriter.txt"),new File("D:\\b.txt"));
}