https://github.com/gwenn/scanner
Port of Go Scanner in Java.
https://github.com/gwenn/scanner
csv csv-parser scanner
Last synced: 12 months ago
JSON representation
Port of Go Scanner in Java.
- Host: GitHub
- URL: https://github.com/gwenn/scanner
- Owner: gwenn
- License: unlicense
- Created: 2015-02-14T10:25:33.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2025-03-31T15:50:50.000Z (about 1 year ago)
- Last Synced: 2025-03-31T17:01:51.459Z (about 1 year ago)
- Topics: csv, csv-parser, scanner
- Language: Java
- Homepage:
- Size: 234 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Yet another CSV reader/pull parser/stream parser with small memory usage.
All credit goes to:
* Rob Pike, creator of [Scanner](http://tip.golang.org/pkg/bufio/#Scanner) interface,
* D. Richard Hipp, for his [CSV parser](http://www.sqlite.org/cgi/src/artifact/6276582ee4e9114e) implementation.
[](https://github.com/gwenn/scanner/actions)
[](https://search.maven.org/search?q=g:%22com.github.gwenn%22%20AND%20a:%22scanner%22)
[](https://www.javadoc.io/doc/com.github.gwenn/scanner)
## Iterating over fields
```java
CsvScanner s;
while (s.scan())) {
String value = s.value();
// ...
if (s.atEndOfRow()) {
// ...
}
}
```
## Iterating over records
```java
CsvReader r;
while (r.next()) {
String value1 = r.getString(1);
// ...
}
```
## Round Tripping
```java
CsvWriter w;
CsvScanner s;
while (s.scan())) {
w.write(s.value());
if (s.atEndOfRow()) {
w.endOfRow();
}
}
w.flush();
```
or
```java
CsvWriter w;
CsvReader r;
while (r.next()) {
w.writeRow(r.values());
}
w.flush();
```
LICENSE
-------
Public Domain