fast-csv

load csv file for Mycat

License

License

Categories

Categories

CSV Data Data Formats
GroupId

GroupId

cn.mrcode.mycat
ArtifactId

ArtifactId

fast-csv
Last Version

Last Version

0.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

fast-csv
load csv file for Mycat
Project URL

Project URL

https://github.com/zq99299/fast-csv
Source Code Management

Source Code Management

https://github.com/zq99299/fast-csv

Download fast-csv

How to add to project

<!-- https://jarcasting.com/artifacts/cn.mrcode.mycat/fast-csv/ -->
<dependency>
    <groupId>cn.mrcode.mycat</groupId>
    <artifactId>fast-csv</artifactId>
    <version>0.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/cn.mrcode.mycat/fast-csv/
implementation 'cn.mrcode.mycat:fast-csv:0.1.0'
// https://jarcasting.com/artifacts/cn.mrcode.mycat/fast-csv/
implementation ("cn.mrcode.mycat:fast-csv:0.1.0")
'cn.mrcode.mycat:fast-csv:jar:0.1.0'
<dependency org="cn.mrcode.mycat" name="fast-csv" rev="0.1.0">
  <artifact name="fast-csv" type="jar" />
</dependency>
@Grapes(
@Grab(group='cn.mrcode.mycat', module='fast-csv', version='0.1.0')
)
libraryDependencies += "cn.mrcode.mycat" % "fast-csv" % "0.1.0"
[cn.mrcode.mycat/fast-csv "0.1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.25

Project Modules

There are no modules declared in this project.

fast-csv

load csv file for Mycat

使用 JDK NIO API 实现的 csv 解析工具。

主要功能:

  • 无特殊字符列解析,如 xx,23,ddx
  • 带特殊字符列解析,如 """id\r\n""","姓名","年龄"\r\n"

解析过程按 byte 解析,不涉及到文件编码,一行的结果是 List<byte[]>

本工具适合用在读取解析 程序生成的 csv 文件的场景

使用示例

mavn 仓库连接:https://mvnrepository.com/search?q=mrcode

<dependency>
  <groupId>cn.mrcode.mycat</groupId>
  <artifactId>fast-csv</artifactId>
  <version>0.1.0</version>
</dependency>

或则

compile 'cn.mrcode.mycat:fast-csv:0.1.0'

InputStream File

CsvReader reader = DefaultCsvReader.from(Paths.get(path));
for (List<byte[]> bytes : reader) {
    bytes.stream().map(i -> new String(i, utf8)).forEach(i -> {
        System.out.print("[" + i + "]");
    });
    System.out.println("");
}

FileChannel.map 方式

CsvReader reader = new MappedCsvReader(Paths.get(path));
while (reader.hashNext()) {
    reader.next();
}

致敬

阅读 javacsv2.1 源码,参考实现

更新记录

2018/11/27 v0.1.0

简单版本的 写出 支持

2018/11/02 v0.1.0-SNAPSHOT

从 mycat2 项目中独立出来首版, csv 的解析功能

Versions

Version
0.1.0