什么是Hutool?
Hutool是一个小而全的java工具类库,是util包有好的代替。
在pom文件中引入Hutool依赖
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.1</version>
</dependency>
Hutool——Convert类(类型转换)
Convert类可以说是一个工具方法类,里面封装了针对Java常见类型的转换,用于简化类型转换。Convert类中大部分方法为toXXX,参数为Object,可以实现将任意可能的类型转换为指定类型。同时支持第二个参数defaultValue用于在转换失败时返回一个默认值。
- 转换为字符串
int a = 1; //aStr为"1" String aStr = Convert.toStr(a); long[] b = {1,2,3,4,5}; //bStr为:"[1, 2, 3, 4, 5]" String bStr = Convert.toStr(b);
- 转换为指定类型数组
String[] b = { "1", "2", "3", "4" }; //结果为Integer数组 Integer[] intArray = Convert.toIntArray(b); long[] c = {1,2,3,4,5}; //结果为Integer数组 Integer[] intArray2 = Convert.toIntArray(c);
- 转换为日期对象
String a = "2017-05-06";//并不局限这一种日期格式,也可转换其他的日期格式 Date value = Convert.toDate(a);
- 转换为集合
Object[] a = {"a", "你", "好", "", 1}; List<?> list = Convert.convert(List.class, a); //从4.1.11开始可以这么用 List<?> list = Convert.toList(a); //特别的,int类型数组无法转换为集合,但是可以通过Hutool实现
同时还支持其它类型转换、半角和全角转换、16进制、Unicode和字符串转换、编码转换…等
Hutool——IoUtil类(流操作)
IO操作在Java中是一个较为复杂的过程,我们在面对不同的场景时,要选择不同的InputStream和OutputStream实现来完成这些操作。而如果想读写字节流,还需要Reader和Writer的各种实现类。
封装的相关工具类
io包的封装主要针对流、文件的读写封装,主要以工具类为主,提供常用功能的封装,这包括:
IoUtil 流操作工具类
FileUtil 文件读写和操作的工具类。
FileTypeUtil 文件类型判断工具类
WatchMonitor 目录、文件监听,封装了JDK1.7中的WatchService
ClassPathResource针对ClassPath中资源的访问封装
FileReader 封装文件读取
FileWriter 封装文件写入
文件流拷贝示例:
BufferedInputStream in = FileUtil.getInputStream("d:/test.txt");
BufferedOutputStream out = FileUtil.getOutputStream("d:/test2.txt");
long copySize = IoUtil.copy(in, out, IoUtil.DEFAULT_BUFFER_SIZE);//IoUtil.DEFAULT_BUFFER_SIZE 为缓冲区大小,默认为8192,单位为字节