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

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

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

参考案例:

		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.CHARSET_UTF_8);
			for(String readUtf8Line :readUtf8Lines){
				System.out.println(readUtf8Line);
			}
		}catch (Exception e){
			e.printStackTrace();
		}

源码解析:

链接:待补充

方法明细

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

方法描述

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

支持版本及以上

3.1.1

参数描述:

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

返回值:

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

参考案例:

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

源码解析:

链接:待补充

方法明细

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

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

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

返回值:

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

参考案例:

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

源码解析:

链接:待补充

方法明细

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

方法描述

从文件中读取每一行数据

支持版本及以上

3.1.1

参数描述:

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

返回值:

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

参考案例:

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

源码解析:

链接:待补充

方法明细

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

方法描述

从文件中读取每一行数据

支持版本及以上

3.1.1

参数描述:

参数名描述
File file
file 文件

返回值:

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

参考案例:

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

源码解析:

链接:待补充

方法明细

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

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

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

返回值:

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

参考案例:

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

源码解析:

链接:待补充

方法明细

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

方法描述

从文件中读取每一行数据

支持版本及以上

参数描述:

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

返回值:

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

参考案例:

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

源码解析:

链接:待补充

方法明细

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

方法描述

按行处理文件内容,编码为UTF-8

支持版本及以上

参数描述:

参数名描述
File file
file 文件
LineHandler lineHandler
lineHandler {@link LineHandler}行处理器

返回值:

参考案例:

public class IoUtilLineHandler implements LineHandler {
	@Override
	public void handle(String line) {
		System.out.println("handle:"+line);
	}
}
//-------------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		File file = new File(path);
		//按行处理文件内容,编码为UTF-8
		 FileUtil.readUtf8Lines(file,new IoUtilLineHandler());

image-202106234538694

源码解析:

链接:待补充

方法明细

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

方法描述

按行处理文件内容

支持版本及以上

参数描述:

参数名描述
File file
file 文件
Charset charset
charset 编码
LineHandler lineHandler
lineHandler {@link LineHandler}行处理器

返回值:

参考案例:

public class IoUtilLineHandler implements LineHandler {
	@Override
	public void handle(String line) {
		System.out.println("handle:"+line);
	}
}
//-------------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		//按行处理文件内容
		FileUtil.readLines(new File(path),CharsetUtil.CHARSET_UTF_8,new IoUtilLineHandler());

源码解析:

链接:待补充

方法明细

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

方法描述

按行处理文件内容

支持版本及以上

4.5.2

参数描述:

参数名描述
RandomAccessFile file
file {@link RandomAccessFile}文件
Charset charset
charset 编码
LineHandler lineHandler
lineHandler {@link LineHandler}行处理器

返回值:

参考案例:

		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		File file = new File(path);
		RandomAccessFile randomAccessFile = FileUtil.createRandomAccessFile(file, FileMode.r);
		//按行处理文件内容
		FileUtil.readLines(randomAccessFile,CharsetUtil.CHARSET_UTF_8,new IoUtilLineHandler());

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readLine(java.io.RandomAccessFile, java.nio.charset.Charset, cn.hutool.core.io.LineHandler)

方法描述

单行处理文件内容

支持版本及以上

4.5.2

参数描述:

参数名描述
RandomAccessFile file
file {@link RandomAccessFile}文件
Charset charset
charset 编码
LineHandler lineHandler
lineHandler {@link LineHandler}行处理器

返回值:

参考案例:

		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		File file = new File(path);
		RandomAccessFile randomAccessFile = FileUtil.createRandomAccessFile(file, FileMode.r);
		//单行处理文件内容
		FileUtil.readLine(randomAccessFile,CharsetUtil.CHARSET_UTF_8,new IoUtilLineHandler());

image-20210623205306000

源码解析:

链接:待补充

方法明细

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

方法描述

单行处理文件内容

支持版本及以上

4.5.18

参数描述:

参数名描述
RandomAccessFile file
file {@link RandomAccessFile}文件
Charset charset
charset 编码

返回值:

行内容

参考案例:

		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		File file = new File(path);
		RandomAccessFile randomAccessFile = FileUtil.createRandomAccessFile(file, FileMode.r);
		//单行处理文件内容
		String str = FileUtil.readLine(randomAccessFile,CharsetUtil.CHARSET_UTF_8);
		System.out.println(str);

image-202106235702476

源码解析:

链接:待补充

方法明细

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

方法描述

可读的文件大小

支持版本及以上

参数描述:

参数名描述
File file
file 文件

返回值:

大小

参考案例:

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

image-2021062357534

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.readableFileSize(long)

方法描述

可读的文件大小<br>
参考 http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc

支持版本及以上

参数描述:

参数名描述
long size
size Long类型大小

返回值:

大小

参考案例:

		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		File file = new File(path);
		//读的文件大小
		String size = FileUtil.readableFileSize(file.length());
		System.out.println(size);

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.loadUtf8(java.lang.String, cn.hutool.core.io.file.FileReader.ReaderHandler)

方法描述

按照给定的readerHandler读取文件中的数据

支持版本及以上

3.1.1

参数描述:

参数名描述
String path
readerHandler Reader处理类
cn.hutool.core.io.file.FileReader.ReaderHandler readerHandler
path 文件的绝对路径

返回值:

从文件中load出的数据 集合类型

参考案例:

public class FileUtilReaderHandler implements FileReader.ReaderHandler {
	@Override
	public Object handle(BufferedReader reader) throws IOException {
		System.out.println("FileUtilReaderHandler:start");
		String str = null;
		List<String> stringList = new ArrayList<>();
		//到达流末尾, 就返回null
		while((str = reader.readLine()) != null){
			System.out.println(str);
			stringList.add(str);
		}
		return stringList;
	}
}

//------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		List<String> list = (List<String>) FileUtil.loadUtf8(path,new FileUtilReaderHandler());
		for(String str :list){
			System.out.println("loadUtf8Test:"+str);
		}

image-2021062353480

image-202106239211818

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.load(java.lang.String, java.lang.String, cn.hutool.core.io.file.FileReader.ReaderHandler)

方法描述

按照给定的readerHandler读取文件中的数据

支持版本及以上

3.1.1

参数描述:

参数名描述
String path
readerHandler Reader处理类
String charset
path 文件的绝对路径
cn.hutool.core.io.file.FileReader.ReaderHandler readerHandler
charset 字符集

返回值:

从文件中load出的数据 集合类型

参考案例:

public class FileUtilReaderHandler implements FileReader.ReaderHandler {
	@Override
	public Object handle(BufferedReader reader) throws IOException {
		System.out.println("FileUtilReaderHandler:start");
		String str = null;
		List<String> stringList = new ArrayList<>();
		//到达流末尾, 就返回null
		while((str = reader.readLine()) != null){
			System.out.println(str);
			stringList.add(str);
		}
		return stringList;
	}
}

//------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		List<String> list = (List<String>) FileUtil.load(path,CharsetUtil.UTF_8,new FileUtilReaderHandler());
		for(String str :list){
			System.out.println("loadUtf8Test:"+str);
		}

源码解析:

链接:待补充

方法明细

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

方法描述

按照给定的readerHandler读取文件中的数据

支持版本及以上

3.1.1

参数描述:

参数名描述
String path
readerHandler Reader处理类
Charset charset
path 文件的绝对路径
cn.hutool.core.io.file.FileReader.ReaderHandler readerHandler
charset 字符集

返回值:

从文件中load出的数据 集合类型

参考案例:

public class FileUtilReaderHandler implements FileReader.ReaderHandler {
	@Override
	public Object handle(BufferedReader reader) throws IOException {
		System.out.println("FileUtilReaderHandler:start");
		String str = null;
		List<String> stringList = new ArrayList<>();
		//到达流末尾, 就返回null
		while((str = reader.readLine()) != null){
			System.out.println(str);
			stringList.add(str);
		}
		return stringList;
	}
}

//------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		List<String> list = (List<String>) FileUtil.load(path,CharsetUtil.CHARSET_UTF_8,new FileUtilReaderHandler());
		for(String str :list){
			System.out.println("loadUtf8Test:"+str);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.loadUtf8(java.io.File, cn.hutool.core.io.file.FileReader.ReaderHandler)

方法描述

按照给定的readerHandler读取文件中的数据

支持版本及以上

3.1.1

参数描述:

参数名描述
File file
readerHandler Reader处理类
cn.hutool.core.io.file.FileReader.ReaderHandler readerHandler
file 文件

返回值:

从文件中load出的数据 集合类型

参考案例:

public class FileUtilReaderHandler implements FileReader.ReaderHandler {
	@Override
	public Object handle(BufferedReader reader) throws IOException {
		System.out.println("FileUtilReaderHandler:start");
		String str = null;
		List<String> stringList = new ArrayList<>();
		//到达流末尾, 就返回null
		while((str = reader.readLine()) != null){
			System.out.println(str);
			stringList.add(str);
		}
		return stringList;
	}
}

//------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		List<String> list = (List<String>) FileUtil.loadUtf8(new File(path),new FileUtilReaderHandler());
		for(String str :list){
			System.out.println("loadUtf8Test:"+str);
		}

源码解析:

链接:待补充

方法明细

方法名称:cn.hutool.core.io.FileUtil.load(java.io.File, java.nio.charset.Charset, cn.hutool.core.io.file.FileReader.ReaderHandler)

方法描述

按照给定的readerHandler读取文件中的数据

支持版本及以上

3.1.1

参数描述:

参数名描述
File file
readerHandler Reader处理类
Charset charset
file 文件
cn.hutool.core.io.file.FileReader.ReaderHandler readerHandler
charset 字符集

返回值:

从文件中load出的数据 集合类型

参考案例:

public class FileUtilReaderHandler implements FileReader.ReaderHandler {
	@Override
	public Object handle(BufferedReader reader) throws IOException {
		System.out.println("FileUtilReaderHandler:start");
		String str = null;
		List<String> stringList = new ArrayList<>();
		//到达流末尾, 就返回null
		while((str = reader.readLine()) != null){
			System.out.println(str);
			stringList.add(str);
		}
		return stringList;
	}
}

//------------------------
		String path = "C:\\Users\\Administrator\\Desktop\\xuzhu/copyTest1.txt";
		List<String> list = (List<String>) FileUtil.load(new File(path),CharsetUtil.CHARSET_UTF_8,new FileUtilReaderHandler());
		for(String str :list){
			System.out.println("loadUtf8Test:"+str);
		}

源码解析:

链接:待补充
package com.hexiang.utils; import java.io.*; /** * FileUtil. Simple file operation class. * * @author BeanSoft * */ public class FileUtil { /** * The buffer. */ protected static byte buf[] = new byte[1024]; /** * Read content from local file. FIXME How to judge UTF-8 and GBK, the * correct code should be: FileReader fr = new FileReader(new * InputStreamReader(fileName, "ENCODING")); Might let the user select the * encoding would be a better idea. While reading UTF-8 files, the content * is bad when saved out. * * @param fileName - * local file name to read * @return * @throws Exception */ public static String readFileAsString(String fileName) throws Exception { String content = new String(readFileBinary(fileName)); return content; } /** * 读取文件并返回为给定字符集的字符串. * @param fileName * @param encoding * @return * @throws Exception */ public static String readFileAsString(String fileName, String encoding) throws Exception { String content = new String(readFileBinary(fileName), encoding); return content; } /** * 读取文件并返回为给定字符集的字符串. * @param fileName * @param encoding * @return * @throws Exception */ public static String readFileAsString(InputStream in) throws Exception { String content = new String(readFileBinary(in)); return content; } /** * Read content from local file to binary byte array. * * @param fileName - * local file name to read * @return * @throws Exception */ public static byte[] readFileBinary(String fileName) throws Exception { FileInputStream fin = new FileInputStream(fileName); return readFileBinary(fin); } /** * 从输入流读取数据为二进制字节数组. * @param streamIn * @return * @throws IOException */ public static byte[] readFileBinary(InputStream streamIn) throws IOException { BufferedInputStream in = new BufferedInputStream(streamIn); ByteArrayOutputStream out = new ByteArrayOutputStream(10240); int len; while ((len
评论 33 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页

打赏作者

小虚竹

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值