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.gzmd5pgpcommons-io-2.6-bin.zipmd5pgp
5、Maven 仓库获取地址:http://mvnrepository.com/artifact/commons-io/commons-io
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格式的文件。
* 返回最后一个正斜杠或反斜杠之后的文本。
*
* a/b/c.txt -> c.txt
* a.txt -> a.txt
* a/b/c -> c
* a/b/c/ -> ""
*
*/
@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