9hutool实战:FileUtil 文件工具类(读取文件)

Posted 小虚竹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9hutool实战:FileUtil 文件工具类(读取文件)相关的知识,希望对你有一定的参考价值。

技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯

hutool实战(带你掌握里面的各种工具)目录

用途: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.readBytes(java.io.File)
读取文件所有数据<br> 文件的长度不能超过Integer.MAX_VALUE
cn.hutool.core.io.FileUtil.readBytes(java.lang.String)
读取文件所有数据<br> 文件的长度不能超过Integer.MAX_VALUE
cn.hutool.core.io.FileUtil.readUtf8String(java.io.File)
读取文件内容
cn.hutool.core.io.FileUtil.readUtf8String(java.lang.String)
读取文件内容
cn.hutool.core.io.FileUtil.readString(java.io.File, java.lang.String)
读取文件内容
cn.hutool.core.io.FileUtil.readString(java.io.File, java.nio.charset.Charset)
读取文件内容
cn.hutool.core.io.FileUtil.readString(java.lang.String, java.lang.String)
读取文件内容
cn.hutool.core.io.FileUtil.readString(java.lang.String, java.nio.charset.Charset)
读取文件内容
cn.hutool.core.io.FileUtil.readString(java.net.URL, java.lang.String)
读取文件内容
cn.hutool.core.io.FileUtil.readUtf8Lines(java.lang.String, T)
从文件中读取每一行的UTF-8编码数据
cn.hutool.core.io.FileUtil.readLines(java.lang.String, java.lang.String, T)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.lang.String, java.nio.charset.Charset, T)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readUtf8Lines(java.io.File, T)
从文件中读取每一行数据,数据编码为UTF-8
cn.hutool.core.io.FileUtil.readLines(java.io.File, java.lang.String, T)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.io.File, java.nio.charset.Charset, T)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readUtf8Lines(java.net.URL, T)
从文件中读取每一行数据,编码为UTF-8
cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.lang.String, T)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.nio.charset.Charset, T)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readUtf8Lines(java.net.URL)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.lang.String)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.nio.charset.Charset)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readUtf8Lines(java.lang.String)
从文件中读取每一行数据,编码为UTF-8
cn.hutool.core.io.FileUtil.readLines(java.lang.String, java.lang.String)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.lang.String, java.nio.charset.Charset)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readUtf8Lines(java.io.File)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.io.File, java.lang.String)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readLines(java.io.File, java.nio.charset.Charset)
从文件中读取每一行数据
cn.hutool.core.io.FileUtil.readUtf8Lines(java.io.File, cn.hutool.core.io.LineHandler)
按行处理文件内容,编码为UTF-8
cn.hutool.core.io.FileUtil.readLines(java.io.File, java.nio.charset.Charset, cn.hutool.core.io.LineHandler)
按行处理文件内容
cn.hutool.core.io.FileUtil.readLines(java.io.RandomAccessFile, java.nio.charset.Charset, cn.hutool.core.io.LineHandler)
按行处理文件内容
cn.hutool.core.io.FileUtil.readLine(java.io.RandomAccessFile, java.nio.charset.Charset, cn.hutool.core.io.LineHandler)
单行处理文件内容
cn.hutool.core.io.FileUtil.readLine(java.io.RandomAccessFile, java.nio.charset.Charset)
单行处理文件内容
cn.hutool.core.io.FileUtil.readableFileSize(java.io.File)
可读的文件大小
cn.hutool.core.io.FileUtil.readableFileSize(long)
可读的文件大小<br> 参考 http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc
cn.hutool.core.io.FileUtil.loadUtf8(java.lang.String, cn.hutool.core.io.file.FileReader.ReaderHandler)
按照给定的readerHandler读取文件中的数据
cn.hutool.core.io.FileUtil.load(java.lang.String, java.lang.String, cn.hutool.core.io.file.FileReader.ReaderHandler)
按照给定的readerHandler读取文件中的数据
cn.hutool.core.io.FileUtil.load(java.lang.String, java.nio.charset.Charset, cn.hutool.core.io.file.FileReader.ReaderHandler)
按照给定的readerHandler读取文件中的数据
cn.hutool.core.io.FileUtil.loadUtf8(java.io.File, cn.hutool.core.io.file.FileReader.ReaderHandler)
按照给定的readerHandler读取文件中的数据
cn.hutool.core.io.FileUtil.load(java.io.File, java.nio.charset.Charset, cn.hutool.core.io.file.FileReader.ReaderHandler)
按照给定的readerHandler读取文件中的数据

方法明细

方法名称:cn.hutool.core.io.FileUtil.readBytes(java.io.File)

方法描述

读取文件所有数据<br>
文件的长度不能超过Integer.MAX_VALUE

支持版本及以上

参数描述:

参数名描述
File file
file 文件

返回值:

字节码

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		byte[] sb = FileUtil.readBytes(new File(path));
		//内存读写流 不用回收关闭
		ByteArrayInputStream byteArrayInputStream = IoUtil.toStream(sb);
		String str1 = IoUtil.read(byteArrayInputStream,CharsetUtil.UTF_8);
		System.out.println(str1);

image-202106235335185

image-202106235420299

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readBytes(java.lang.String)

方法描述

读取文件所有数据<br>
文件的长度不能超过Integer.MAX_VALUE

支持版本及以上

3.2.0

参数描述:

参数名描述
String filePath
filePath 文件路径

返回值:

字节码

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		byte[] sb = FileUtil.readBytes(path);
		//内存读写流 不用回收关闭
		ByteArrayInputStream byteArrayInputStream = IoUtil.toStream(sb);
		String str1 = IoUtil.read(byteArrayInputStream,CharsetUtil.UTF_8);
		System.out.println(str1);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readUtf8String(java.io.File)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
File file
file 文件

返回值:

内容

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		String str = FileUtil.readUtf8String(new File(path));
		System.out.println(str);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readUtf8String(java.lang.String)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
String path
path 文件路径

返回值:

内容

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		String str = FileUtil.readUtf8String(path);
		System.out.println(str);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readString(java.io.File, java.lang.String)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
File file
file 文件
String charsetName
charsetName 字符集

返回值:

内容

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		String str = FileUtil.readString(new File(path),CharsetUtil.UTF_8);
		System.out.println(str);待补充

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readString(java.io.File, java.nio.charset.Charset)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
File file
file 文件
Charset charset
charset 字符集

返回值:

内容

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		String str = FileUtil.readString(new File(path),CharsetUtil.CHARSET_UTF_8);
		System.out.println(str);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readString(java.lang.String, java.lang.String)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
String path
path 文件路径
String charsetName
charsetName 字符集

返回值:

内容

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		String str = FileUtil.readString(path,CharsetUtil.UTF_8);
		System.out.println(str);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readString(java.lang.String, java.nio.charset.Charset)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
String path
path 文件路径
Charset charset
charset 字符集

返回值:

内容

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt" ;
		String str = FileUtil.readString(path,CharsetUtil.CHARSET_UTF_8);
		System.out.println(str);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readString(java.net.URL, java.lang.String)

方法描述

读取文件内容

支持版本及以上

参数描述:

参数名描述
URL url
url 文件URL
String charset
charset 字符集

返回值:

内容

参考案例:

		File file=new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu\\\\copyTest1.txt");
		try {
			//转换成URL
			URL url = file.toURI().toURL();
			System.out.println("url:"+url);
			String	src = FileUtil.readString(url,CharsetUtil.UTF_8);
			System.out.println(src);
		} catch (Exception e) {
			e.printStackTrace();
		}

image-20210623448123

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readUtf8Lines(java.lang.String, T)

方法描述

从文件中读取每一行的UTF-8编码数据

支持版本及以上

3.1.1

参数描述:

参数名描述
String path
path 文件路径
java.util.Collection collection
collection 集合 集合类型

返回值:

文件中的每行内容的集合

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		//从文件中读取每一行的UTF-8编码数据
		ArrayList<String> readUtf8Lines = FileUtil.readUtf8Lines(path, new ArrayList<>());
		for(String readUtf8Line :readUtf8Lines){
			System.out.println(readUtf8Line);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.lang.String, java.lang.String, T)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
String path
path 文件路径
String charset
charset 字符集
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		//从文件中读取每一行的UTF-8编码数据
		ArrayList<String> readUtf8Lines = FileUtil.readLines(path,CharsetUtil.UTF_8, new ArrayList<>());
		for(String readUtf8Line :readUtf8Lines){
			System.out.println(readUtf8Line);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.lang.String, java.nio.charset.Charset, T)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
String path
path 文件路径
Charset charset
charset 字符集
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		//从文件中读取每一行的UTF-8编码数据
		ArrayList<String> readUtf8Lines = FileUtil.readLines(path,CharsetUtil.CHARSET_UTF_8, new ArrayList<>());
		for(String readUtf8Line :readUtf8Lines){
			System.out.println(readUtf8Line);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readUtf8Lines(java.io.File, T)

方法描述

从文件中读取每一行数据,数据编码为UTF-8

支持版本及以上

3.1.1

参数描述:

参数名描述
File file
file 文件路径
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		//从文件中读取每一行的UTF-8编码数据
		ArrayList<String> readUtf8Lines = FileUtil.readUtf8Lines(new File(path), new ArrayList<>());
		for(String readUtf8Line :readUtf8Lines){
			System.out.println(readUtf8Line);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.io.File, java.lang.String, T)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
File file
file 文件路径
String charset
charset 字符集
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		//从文件中读取每一行的UTF-8编码数据
		ArrayList<String> readUtf8Lines = FileUtil.readLines(new File(path),CharsetUtil.UTF_8, new ArrayList<>());
		for(String readUtf8Line :readUtf8Lines){
			System.out.println(readUtf8Line);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.io.File, java.nio.charset.Charset, T)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
File file
file 文件路径
Charset charset
charset 字符集
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		//从文件中读取每一行的UTF-8编码数据
		ArrayList<String> readUtf8Lines = FileUtil.readLines(new File(path),CharsetUtil.CHARSET_UTF_8, new ArrayList<>());
		for(String readUtf8Line :readUtf8Lines){
			System.out.println(readUtf8Line);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readUtf8Lines(java.net.URL, T)

方法描述

从文件中读取每一行数据,编码为UTF-8

支持版本及以上

参数描述:

参数名描述
URL url
url 文件的URL
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		File file = new File(path);
		try {
			//转换成URL
			URL url = file.toURI().toURL();
			//从文件中读取每一行的UTF-8编码数据
			ArrayList<String> readUtf8Lines = FileUtil.readUtf8Lines(url, new ArrayList<>());
			for(String readUtf8Line :readUtf8Lines){
				System.out.println(readUtf8Line);
			}
		}catch (Exception e){
			e.printStackTrace();
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.lang.String, T)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
URL url
url 文件的URL
String charsetName
charsetName 字符集
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		File file = new File(path);
		try {
			//转换成URL
			URL url = file.toURI().toURL();
			//从文件中读取每一行的UTF-8编码数据
			ArrayList<String> readUtf8Lines = FileUtil.readLines(url,CharsetUtil.UTF_8, new ArrayList<>());
			for(String readUtf8Line :readUtf8Lines){
				System.out.println(readUtf8Line);
			}
		}catch (Exception e){
			e.printStackTrace();
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.nio.charset.Charset, T)

方法描述

从文件中读取每一行数据

支持版本及以上

3.1.1

参数描述:

参数名描述
URL url
url 文件的URL
Charset charset
charset 字符集
java.util.Collection collection
collection 集合

返回值:

文件中的每行内容的集合 集合类型

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		File file = new File(path);
		try {
			//转换成URL
			URL url = file.toURI().toURL();
			//从文件中读取每一行的UTF-8编码数据
			ArrayList<String> readUtf8Lines = FileUtil.readLines(url,CharsetUtil.CHARSET_UTF_8, new ArrayList<>());
			for(String readUtf8Line :readUtf8Lines){
				System.out.println(readUtf8Line);
			}
		}catch (Exception e){
			e.printStackTrace();
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readUtf8Lines(java.net.URL)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
URL url
url 文件的URL

返回值:

文件中的每行内容的集合List

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		File file = new File(path);
		try {
			//转换成URL
			URL url = file.toURI().toURL();
			//从文件中读取每一行的UTF-8编码数据 返回文件中的每行内容的集合List
			List<String> readUtf8Lines = FileUtil.readUtf8Lines(url);
			for(String readUtf8Line :readUtf8Lines){
				System.out.println(readUtf8Line);
			}
		}catch (Exception e){
			e.printStackTrace();
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.lang.String)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
URL url
url 文件的URL
String charset
charset 字符集

返回值:

文件中的每行内容的集合List

参考案例:

		String path = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\xuzhu/copyTest1.txt";
		File file = new File(path);
		try {
			//转换成URL
			URL url = file.toURI().toURL();
			//从文件中读取每一行的UTF-8编码数据
			List<String> readUtf8Lines = FileUtil.readLines(url,CharsetUtil.UTF_8);
			for(String readUtf8Line :readUtf8Lines){
				System.out.println(readUtf8Line);
			}
		}catch (Exception e){
			e.printStackTrace();
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLines(java.net.URL, java.nio.charset.Charset)

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

参数名描述
URL url
url 文件的URL
Charset charset
charset 字符集

返回值:

文件中的每行内容的集合List

参考案例

以上是关于9hutool实战:FileUtil 文件工具类(读取文件)的主要内容,如果未能解决你的问题,请参考以下文章

9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)

11hutool实战:FileUtil 文件工具类(写入,追加文件)

11hutool实战:FileUtil 文件工具类(写入,追加文件)

9hutool实战:LocalDateTimeUtil(JDK8+中的LocalDateTime 工具类封装)

8hutool实战:FileUtil 文件工具类(获取输入流)

8hutool实战:FileUtil 文件工具类(获取输入流)