8hutool实战:FileUtil 文件工具类(获取输入流)
Posted 小虚竹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8hutool实战:FileUtil 文件工具类(获取输入流)相关的知识,希望对你有一定的参考价值。
技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯
用途:FileUtil 文件工具类(获取输入流)
使用场景
获取各种输入流
项目引用
此博文的依据:hutool-5.6.5版本源码
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.6.5</version>
</dependency>
方法摘要
方法明细
方法名称:cn.hutool.core.io.FileUtil.getInputStream(java.io.File)
方法描述
获得输入流
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
File file |
file 文件
|
返回值:
输入流
参考案例:
File file = FileUtil.file("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu\\\\toCopyTest1.txt");
BufferedInputStream bufferedInputStream = null;
try {
bufferedInputStream = FileUtil.getInputStream(file);
String str = IoUtil.read(bufferedInputStream,"UTF-8");
System.out.println(str);
}catch (Exception e){
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
}finally {
IoUtil.close(bufferedInputStream);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getInputStream(java.lang.String)
方法描述
获得输入流
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
String path |
path 文件路径
|
返回值:
输入流
参考案例:
String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu\\\\toCopyTest1.txt");
BufferedInputStream bufferedInputStream = null;
try {
bufferedInputStream = FileUtil.getInputStream(path);
String str = IoUtil.read(bufferedInputStream,"UTF-8");
System.out.println(str);
}catch (Exception e){
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
}finally {
IoUtil.close(bufferedInputStream);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getBOMInputStream(java.io.File)
方法描述
获得BOM输入流,用于处理带BOM头的文件
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
File file |
file 文件
|
返回值:
输入流
参考案例:
File src = new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt") ;
//BOM(Byte Order Mark)标识文件的编码,实际大小比数据多3个字节
// 直接在记事本编辑数据保存,默认会给你的数据添加上BOM头,使你的文件的大小比实际数据多3个字节(utf-8编码)
BOMInputStream fw = null;
BufferedReader bufferedReader = null;
try {
//创建流
fw = FileUtil.getBOMInputStream(src);
//新new BufferedReader对象,记得关闭回收
bufferedReader = IoUtil.getReader(fw);
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(fw);
IoUtil.close(bufferedReader);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getBOMReader(java.io.File)
方法描述
读取带BOM头的文件为Reader
支持版本及以上
5.5.8
参数描述:
参数名 | 描述 |
---|---|
File file |
file 文件
|
返回值:
BufferedReader对象
参考案例:
File src = new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt") ;
//BOM(Byte Order Mark)标识文件的编码,实际大小比数据多3个字节
// 直接在记事本编辑数据保存,默认会给你的数据添加上BOM头,使你的文件的大小比实际数据多3个字节(utf-8编码)
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getBOMReader(src);
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
源生的写法,IoUtil.getReader写法,FileUtil.getBOMInputStream写法和FileUtil.getBOMReader写法对比分析
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getUtf8Reader(java.io.File)
方法描述
获得一个文件读取器
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
File file |
file 文件
|
返回值:
BufferedReader对象
参考案例:
File src = new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt") ;
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getUtf8Reader(src);
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
源生的写法,IoUtil.getUtf8Reader写法和FileUtil.getUtf8Reader写法对比
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getUtf8Reader(java.lang.String)
方法描述
获得一个文件读取器
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
String path |
path 文件路径
|
返回值:
BufferedReader对象
参考案例:
String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getUtf8Reader(path);
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getReader(java.io.File, java.lang.String)
方法描述
获得一个文件读取器
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
File file |
file 文件
|
String charsetName |
charsetName 字符集
|
返回值:
BufferedReader对象
参考案例:
File src = new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt") ;
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getReader(src,"utf-8");
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getReader(java.io.File, java.nio.charset.Charset)
方法描述
获得一个文件读取器
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
File file |
file 文件
|
Charset charset |
charset 字符集
|
返回值:
BufferedReader对象
参考案例:
File src = new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt") ;
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getReader(src,CharsetUtil.UTF_8);
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getReader(java.lang.String, java.lang.String)
方法描述
获得一个文件读取器
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
String path |
path 绝对路径
|
String charsetName |
charsetName 字符集
|
返回值:
BufferedReader对象
参考案例:
String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getReader(path,"utf-8");
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.io.FileUtil.getReader(java.lang.String, java.nio.charset.Charset)
方法描述
获得一个文件读取器
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
String path |
path 绝对路径
|
Charset charset |
charset 字符集
|
返回值:
BufferedReader对象
参考案例:
String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
BufferedReader bufferedReader = null;
try {
bufferedReader = FileUtil.getReader(path,CharsetUtil.UTF_8);
String str = null;
//到达流末尾, 就返回null
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
} catch (IOException e) {
//抛出一个运行时异常(直接停止掉程序)
throw new RuntimeException("运行时异常",e);
} finally {
IoUtil.close(bufferedReader);
}
源码解析:
链接:待补充
以上是关于8hutool实战:FileUtil 文件工具类(获取输入流)的主要内容,如果未能解决你的问题,请参考以下文章
8hutool实战:ChineseDate(农历日期工具类)
8hutool实战:ChineseDate(农历日期工具类)
9hutool实战:FileUtil 文件工具类(读取文件)
9hutool实战:FileUtil 文件工具类(读取文件)