Apache commons io FileUtils、IOUtils、FilenameUtils 详解

目录

FileUtils 通用文件操作工具类

IOUtils 通用 IO 流操作工具类

Apache FilenameUtils 常规文件名和路径操作实用程序


序言

1、Apache 为大家提供了很多有用的 API,如 StringUtils、FileUtis 就是其中常用的之一

2、FileUtils 主要用于操作文件, API 所在包为:org.apache.commons.io,官网API文档:Apache Commons IO 2.11.0 API

3、所需开发包可从官网下载:Commons IO – Commons IO Overview

4、直接点击  commons-io-2.6-bin.zip 即可下载。

commons-io-2.6-bin.tar.gzmd5pgp
commons-io-2.6-bin.zipmd5pgp

5、Maven 仓库获取地址:http://mvnrepository.com/artifact/commons-io/commons-io

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>

FileUtils 通用文件操作工具类

FileUtils 常用常量

public static final long ONE_KB = 1024;
public static final BigInteger ONE_KB_BI = BigInteger.valueOf(ONE_KB);
public static final long ONE_MB = ONE_KB * ONE_KB;
public static final BigInteger ONE_MB_BI = ONE_KB_BI.multiply(ONE_KB_BI);
private static final long FILE_COPY_BUFFER_SIZE = ONE_MB * 30;
public static final long ONE_GB = ONE_KB * ONE_MB;
public static final BigInteger ONE_GB_BI = ONE_KB_BI.multiply(ONE_MB_BI);
public static final long ONE_TB = ONE_KB * ONE_GB;
public static final BigInteger ONE_TB_BI = ONE_KB_BI.multiply(ONE_GB_BI);
public static final long ONE_PB = ONE_KB * ONE_TB;
public static final BigInteger ONE_PB_BI = ONE_KB_BI.multiply(ONE_TB_BI);
public static final long ONE_EB = ONE_KB * ONE_PB;
public static final BigInteger ONE_EB_BI = ONE_KB_BI.multiply(ONE_PB_BI);
public static final BigInteger ONE_ZB = BigInteger.valueOf(ONE_KB).multiply(BigInteger.valueOf(ONE_EB));
public static final BigInteger ONE_YB = ONE_KB_BI.multiply(ONE_ZB);
public static final File[] EMPTY_FILE_ARRAY = new File[0];

FileUtils 常用方法FileUtils API.md

在线演示源码:https://gitee.com/wangmx1993/apache-study/blob/master/src/test/java/com/wmx/FileUtilsTest.java 更多 API 方法参考官网文档:Apache Commons IO 2.11.0 API

IOUtils 通用 IO 流操作工具类

1、org.apache.commons.io.IOUtils 与 org.apache.commons.io.FileUtils 位于同一个包下,FileUtils 底层也是使用 IOUtils

2、IOUtils 工具类提供方法与 FileUtils 基本类似,只是更面向底层的 OutputStream、InputStream、FileInputStream、FileOutputStream、BufferedOutputStream 等等 IO 流。

3、下面只是简单抽取几个方法,更多 API 方法参考官网文档:Apache Commons IO 2.11.0 API

closeQuietly()  
toString()  
copy()  
toByteArray()  
write()  
toInputStream()  
readLines()  
copyLarge()  
lineIterator()  
readFully() 

Apache FilenameUtils 常规文件名和路径操作实用程序

    /**
     * String getName(final String filename)
     * 从完整文件名中获取名称减去路径。
     * 此方法将处理Unix或Windows格式的文件。
     * 返回最后一个正斜杠或反斜杠之后的文本。
     * <pre>
     * a/b/c.txt -> c.txt
     * a.txt     -> a.txt
     * a/b/c     -> c
     * a/b/c/    -> ""
     * </pre>
     */
    @Test
    public void getName() {
        String resourceName = "data/person1.json";
        URL url = ResourceUtil.getResource(resourceName);
        // /D:/project/IDEA_project/apache-study/target/test-classes/data/person1.json
        System.out.println(url.getPath());

        String name = FilenameUtils.getName(url.getPath());
        // person1.json
        System.out.println(name);
    }

src/test/java/com/wmx/FilenameUtilsTest.java · 汪少棠/apache-study - Gitee.com

  • 22
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚩尤后裔-汪茂雄

芝兰生于深林,不以无人而不芳。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值