Package org.aoju.bus.office.csv
Class CsvReader
java.lang.Object
org.aoju.bus.office.csv.CsvReader
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<CsvRow>
CSV文件读取器,参考:FastCSV
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
ConstructorsConstructorDescription构造,使用默认配置项CsvReader(File file, Charset charset, CsvReadConfig config) 构造CsvReader(File file, CsvReadConfig config) 构造,默认Charset.UTF_8编码CsvReader(Reader reader, CsvReadConfig config) 构造CsvReader(Path path, Charset charset, CsvReadConfig config) 构造CsvReader(Path path, CsvReadConfig config) 构造,默认Charset.UTF_8编码CsvReader(CsvReadConfig config) 构造 -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()iterator()读取CSV文件,默认UTF-8编码读取CSV文件从Reader中读取CSV数据,读取后关闭Reader<T> List<T>从Reader中读取CSV数据并转换为Bean列表,读取后关闭Reader 此方法默认识别首行为标题行<T> List<T>从Reader中读取CSV数据并转换为Bean列表,读取后关闭Reader 此方法默认识别首行为标题行void从Reader中读取CSV数据,读取后关闭Reader从字符串中读取CSV数据<T> List<T>从字符串中读取CSV数据并转换为Bean列表,读取后关闭Reader 此方法默认识别首行为标题行。void从字符串中读取CSV数据读取CSV文件,默认UTF-8编码读取CSV文件readMapList(Reader reader) 从Reader中读取CSV数据,结果为Map,读取后关闭Reader 此方法默认识别首行为标题行voidsetContainsHeader(boolean containsHeader) 设置是否首行做为标题行,默认falsevoidsetErrorOnDifferentFieldCount(boolean errorOnDifferentFieldCount) 设置每行字段个数不同时是否抛出异常,默认falsevoidsetFieldSeparator(char fieldSeparator) 设置字段分隔符,默认逗号voidsetSkipEmptyRows(boolean skipEmptyRows) 设置是否跳过空白行,默认truevoidsetTextDelimiter(char textDelimiter) 设置 文本分隔符,文本包装符,默认双引号stream()根据Reader创建Stream,以便使用stream方式读取csv行Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
CsvReader
public CsvReader()构造,使用默认配置项 -
CsvReader
构造- Parameters:
config- 配置项
-
CsvReader
构造- Parameters:
reader-Reader,null表示不设置默认readerconfig- 配置项,null表示默认配置
-
CsvReader
构造,默认Charset.UTF_8编码- Parameters:
file- CSV文件路径,null表示不设置路径config- 配置项,null表示默认配置
-
CsvReader
构造,默认Charset.UTF_8编码- Parameters:
path- CSV文件路径,null表示不设置路径config- 配置项,null表示默认配置
-
CsvReader
构造- Parameters:
file- CSV文件路径,null表示不设置路径charset- 编码config- 配置项,null表示默认配置
-
CsvReader
构造- Parameters:
path- CSV文件路径,null表示不设置路径charset- 编码config- 配置项,null表示默认配置
-
-
Method Details
-
setFieldSeparator
public void setFieldSeparator(char fieldSeparator) 设置字段分隔符,默认逗号- Parameters:
fieldSeparator- 字段分隔符,默认逗号
-
setTextDelimiter
public void setTextDelimiter(char textDelimiter) 设置 文本分隔符,文本包装符,默认双引号- Parameters:
textDelimiter- 文本分隔符,文本包装符,默认双引号
-
setContainsHeader
public void setContainsHeader(boolean containsHeader) 设置是否首行做为标题行,默认false- Parameters:
containsHeader- 是否首行做为标题行,默认false
-
setSkipEmptyRows
public void setSkipEmptyRows(boolean skipEmptyRows) 设置是否跳过空白行,默认true- Parameters:
skipEmptyRows- 是否跳过空白行,默认true
-
setErrorOnDifferentFieldCount
public void setErrorOnDifferentFieldCount(boolean errorOnDifferentFieldCount) 设置每行字段个数不同时是否抛出异常,默认false- Parameters:
errorOnDifferentFieldCount- 每行字段个数不同时是否抛出异常,默认false
-
read
读取CSV文件,默认UTF-8编码- Parameters:
file- CSV文件- Returns:
CsvData,包含数据列表和行信息- Throws:
org.aoju.bus.core.exception.InternalException- IO异常
-
read
从字符串中读取CSV数据- Parameters:
text- CSV字符串- Returns:
CsvData,包含数据列表和行信息
-
read
从字符串中读取CSV数据- Parameters:
text- CSV字符串rowHandler- 行处理器,用于一行一行的处理数据
-
read
public CsvData read(File file, Charset charset) throws org.aoju.bus.core.exception.InternalException 读取CSV文件- Parameters:
file- CSV文件charset- 文件编码,默认系统编码- Returns:
CsvData,包含数据列表和行信息- Throws:
org.aoju.bus.core.exception.InternalException- IO异常
-
read
读取CSV文件,默认UTF-8编码- Parameters:
path- CSV文件- Returns:
CsvData,包含数据列表和行信息- Throws:
org.aoju.bus.core.exception.InternalException- IO异常
-
read
public CsvData read(Path path, Charset charset) throws org.aoju.bus.core.exception.InternalException 读取CSV文件- Parameters:
path- CSV文件charset- 文件编码,默认系统编码- Returns:
CsvData,包含数据列表和行信息- Throws:
org.aoju.bus.core.exception.InternalException- IO异常
-
read
从Reader中读取CSV数据,读取后关闭Reader- Parameters:
reader- Reader- Returns:
CsvData,包含数据列表和行信息- Throws:
org.aoju.bus.core.exception.InternalException- IO异常
-
read
从Reader中读取CSV数据,读取后关闭Reader- Parameters:
reader- ReaderrowHandler- 行处理器,用于一行一行的处理数据
-
read
从字符串中读取CSV数据并转换为Bean列表,读取后关闭Reader 此方法默认识别首行为标题行。- Type Parameters:
T- Bean类型- Parameters:
csvStr- csv字符串clazz- Bean类型- Returns:
- Bean列表
-
readMapList
public List<Map<String,String>> readMapList(Reader reader) throws org.aoju.bus.core.exception.InternalException 从Reader中读取CSV数据,结果为Map,读取后关闭Reader 此方法默认识别首行为标题行- Parameters:
reader- Reader- Returns:
CsvData,包含数据列表和行信息- Throws:
org.aoju.bus.core.exception.InternalException- IO异常
-
read
从Reader中读取CSV数据并转换为Bean列表,读取后关闭Reader 此方法默认识别首行为标题行- Type Parameters:
T- Bean类型- Parameters:
reader- Readerclazz- Bean类型- Returns:
- Bean列表
-
read
从Reader中读取CSV数据并转换为Bean列表,读取后关闭Reader 此方法默认识别首行为标题行- Type Parameters:
T- Bean类型- Parameters:
reader- ReaderstartLineIndex- 起始行号,不需要大于 0,因为首行是标题行clazz- Bean类型- Returns:
- Bean列表
-
stream
根据Reader创建Stream,以便使用stream方式读取csv行- Returns:
Stream
-
iterator
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-