转载请出自出处:http://eksliang.iteye.com/blog/2217081
一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
二、commons-io在maven中央仓库的最新版本地址
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>
三、FilenameUtils API操作如下
package com.ickes.filename; import java.util.ArrayList; import java.util.List; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOCase; /** * org.apache.commons.io.FilenameUtils工具类笔记 * @author Ickes */ public class FilenameUtilsTest { public static void main(String[] args) throws Exception { String fileDirectory = "/D:/aa/bb/cc"; String fileName ="file.txt"; String fileFullName = fileDirectory +"/"+ fileName; System.out.println("(1)显示linux路径:"+FilenameUtils.normalizeNoEndSeparator(fileFullName)); System.out.println("(2)合并目录和文件名为文件全路径:"+FilenameUtils.concat(fileDirectory, fileName)); System.out.println("(3)文件路径去除目录和后缀后的文件名:"+FilenameUtils.getBaseName(fileFullName)); System.out.println("(4)获取文件的后缀:"+FilenameUtils.getExtension(fileFullName)); System.out.println("(5)获取文件的完整目录:"+FilenameUtils.getFullPath(fileFullName)); System.out.println("(6)获取文件的目录不包含结束符:"+FilenameUtils.getFullPathNoEndSeparator(fileFullName)); System.out.println("(7)获取文件名称,包含后缀:"+FilenameUtils.getName(fileFullName)); System.out.println("(8)去除前缀的路径:"+FilenameUtils.getPath(fileFullName)); System.out.println("(9)去除前缀并结尾去除分隔符:"+FilenameUtils.getPathNoEndSeparator(fileFullName)); System.out.println("(10)获取前缀:"+FilenameUtils.getPrefix(fileFullName)); System.out.println("(11)获取前缀长度:"+FilenameUtils.getPrefixLength(fileFullName)); System.out.println("(12)获取最后一个.的位置:"+FilenameUtils.indexOfExtension(fileFullName)); System.out.println("(13)获取最后一个/的位置:"+FilenameUtils.indexOfLastSeparator(fileFullName)); System.out.println("(14)获取当前系统格式化路径:"+FilenameUtils.normalize(fileFullName)); System.out.println("(16)获取当前系统无结尾分隔符的路径:"+FilenameUtils.normalizeNoEndSeparator(fileDirectory)); System.out.println("(17)获取linux系统无结尾分隔符的路径:"+FilenameUtils.normalizeNoEndSeparator(fileDirectory)); System.out.println("(18)移除文件的扩展名:"+FilenameUtils.removeExtension(fileFullName)); System.out.println("(19)转换分隔符为当前系统分隔符:"+FilenameUtils.separatorsToSystem(fileFullName)); System.out.println("(20)转换分隔符为linux系统分隔符:"+FilenameUtils.separatorsToUnix(fileFullName)); System.out.println("(21)转换分隔符为windows系统分隔符:"+FilenameUtils.separatorsToWindows(fileFullName)); System.out.println("(22)判断目录下是否包含指定文件或目录:"+FilenameUtils.directoryContains(fileDirectory, fileName)); String linuxFileName = FilenameUtils.normalize(fileFullName); System.out.println("(23)判断文件路径是否相同:"+FilenameUtils.equals(fileFullName, linuxFileName)); System.out.println("(24)判断文件路径是否相同,格式化并大小写不敏感:"+FilenameUtils.equals(fileFullName, FilenameUtils.normalize(fileFullName),true,IOCase.INSENSITIVE)); System.out.println("(25)判断文件路径是否相同,格式化并大小写敏感:" + FilenameUtils.equalsNormalized(fileFullName, linuxFileName)); System.out.println("(26)判断文件路径是否相同,不格式化,大小写敏感根据系统规则:windows:敏感;linux:不敏感:" + FilenameUtils.equalsOnSystem(fileFullName, linuxFileName)); List<String> extensions = new ArrayList<>(); extensions.add("txt"); extensions.add("java"); System.out.println("(27)判断文件扩展名是否包含在指定集合中:" + FilenameUtils.isExtension(fileFullName, extensions)); System.out.println("(28)判断文件扩展名是否等于指定扩展名:" + FilenameUtils.isExtension(fileFullName, "txt")); System.out.println("(29)判断文件扩展名是否包含在指定字符串数组中:" + FilenameUtils.isExtension(fileFullName, new String[]{"txt","java"})); System.out.println("(30)判断文件扩展名是否和指定规则匹配,大小写敏感:" + FilenameUtils.wildcardMatch(fileName, "*.???")); System.out.println("(31)判断文件扩展名是否和指定规则匹配,大小写不敏感:" + FilenameUtils.wildcardMatch(fileName, "*.???",IOCase.INSENSITIVE)); System.out.println("(32)判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows:不敏感;linux:敏感:" + FilenameUtils.wildcardMatchOnSystem(fileName, "*.???")); } }
四、打印结果
(1)显示linux路径:\D:\aa\bb\cc\file.txt (2)合并目录和文件名为文件全路径:\D:\aa\bb\cc\file.txt (3)文件路径去除目录和后缀后的文件名:file (4)获取文件的后缀:txt (5)获取文件的完整目录:/D:/aa/bb/cc/ (6)获取文件的目录不包含结束符:/D:/aa/bb/cc (7)获取文件名称,包含后缀:file.txt (8)去除前缀的路径:D:/aa/bb/cc/ (9)去除前缀并结尾去除分隔符:D:/aa/bb/cc (10)获取前缀:/ (11)获取前缀长度:1 (12)获取最后一个.的位置:17 (13)获取最后一个/的位置:12 (14)获取当前系统格式化路径:\D:\aa\bb\cc\file.txt (16)获取当前系统无结尾分隔符的路径:\D:\aa\bb\cc (17)获取linux系统无结尾分隔符的路径:\D:\aa\bb\cc (18)移除文件的扩展名:/D:/aa/bb/cc/file (19)转换分隔符为当前系统分隔符:\D:\aa\bb\cc\file.txt (20)转换分隔符为linux系统分隔符:/D:/aa/bb/cc/file.txt (21)转换分隔符为windows系统分隔符:\D:\aa\bb\cc\file.txt (22)判断目录下是否包含指定文件或目录:false (23)判断文件路径是否相同:false (24)判断文件路径是否相同,格式化并大小写不敏感:true (25)判断文件路径是否相同,格式化并大小写敏感:true (26)判断文件路径是否相同,不格式化,大小写敏感根据系统规则:windows:敏感;linux:不敏感:false (27)判断文件扩展名是否包含在指定集合中:true (28)判断文件扩展名是否等于指定扩展名:true (29)判断文件扩展名是否包含在指定字符串数组中:true (30)判断文件扩展名是否和指定规则匹配,大小写敏感:true (31)判断文件扩展名是否和指定规则匹配,大小写不敏感:true (32)判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows:不敏感;linux:敏感:true
参考:
http://blog.sina.com.cn/s/blog_abb3c2e90102uyz3.html
相关推荐
使用java工具类可有效的提高开发效率! 没有CSDN积分的朋友到这里源头下载:http://www.javacs.cn/bbs/thread-382-1-1.html 感谢支持 [工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中...
[工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt...
1、java工具类RabbitmqUtil是本人封装好的直接使用 2、常用的方法都在里面 3、改一下初始化配置参数就行
jedis的工具类,java代码写的,非常全面,jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类...
Elasticsearch工具类,支持通过标签注释实体类并通过工具类实现对es的映射(把po的结构导入es),和对es的增删查改,包括分页,scroll读取,关联查询等。
Java实现的Https请求工具类。 https的java工具类 Https
java常用的工具类整理28个java常用的工具类整理28个java常用的工具类整理28个
该工具类下载后拷贝到你要用的包,只需该包名即可
本源码包含公众号菜单初始化开发,菜单事件开发,普通token和网页授权token开发工具类,js_ticket获取和缓存,获取openid开发,公众号网络请求封装,xml格式转换工具类,文件上传工具类,关注事件/取消关注事件开发...
java各种工具类:包括日期工具类、字符串工具类、文件工具类、xml读写工具类、json工具类、http访问工具类、压缩包工具类等等。非常齐全
包含了IBM的MQ初始化,发送,接收的工具类,方便极了,可直接放入到项目中。
C#常用工具类代码集合Util第二版本(自己工作总结),包括常用工具类,扩展方法工具类,百度地图C#工具类,Echart工具类,Office工具类,Autofac工具类,Web开发常用工具类,Winform开发常用工具类,是自己工作十年...
J2EE常用工具类汇总 J2EE常用工具类—Value Object工具类 J2EE常用工具类—Json工具 J2EE常用工具类—Jdbc操作 J2EE常用工具类—Hibernate操作 J2EE常用工具类—Cookie操作 J2EE常用工具类—数组操作 J2EE...
HTTPClient工具类,完整,HTTPClient工具类,完整,HTTPClient工具类,完整HTTPClient工具类,完整,HTTPClient工具类,完整
c++常用的工具类源码 包括:文件处理,编码处理,字符串处理,网络爬虫,网页数据的抓取 ,可根据数组规则抓取指定网页的内容(有一个例子)等等
该工具类是Java编写下载即可使用,该工具类中有生成各种长度的订单号,有英文数字混合的,有数字的
RabbitMQClientUtil是MQ的测试工具类,他封装了fanout、direct、topic三种exchange模式,并包括发送数据和接收数据。 Test1、Test2是测试类 使用maven管理,在pom.xml文件中引入如下代码: <!-- Rabbitmq工具包...
C# HttpClientHelper(HttpClient工具类) 包含 同步/异步请求 返回 string/泛型类型/Xml 及一个单例模式 的 SingleHelper 适合做爬虫
org.springframework.web.client.AsyncRestTemplate org.springframework.web.client.RestTemplate HTTP请求工具类,基于以上两个Rest请求工具模板完成封装HTTP请求,包括同步和异步请求的实现。
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...