https://github.com/mastersign/hark
A Java / Clojure library, providing an OutputStream for parsing separated strings.
https://github.com/mastersign/hark
Last synced: about 1 year ago
JSON representation
A Java / Clojure library, providing an OutputStream for parsing separated strings.
- Host: GitHub
- URL: https://github.com/mastersign/hark
- Owner: mastersign
- License: epl-1.0
- Created: 2016-03-19T15:06:40.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-24T07:19:57.000Z (over 10 years ago)
- Last Synced: 2025-07-01T06:18:48.679Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 27.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# hark
[![Build Status][travis-img]][travis-url]
[![Clojars Project][clojars-img]][clojars-url]
> A Java / Clojure library, providing a `java.io.OutputStream` for parsing separated strings.
Inspired by ideas of Daniel Kiertscher.
## Usage
This library can be used as a Clojure library as well as a Java library.
### Clojure
Add `[hark "0.1.0"]` to the dependencies in your `project.clj`.
```clojure
(require '(clojure.java.io :as io))
(require '(net.kiertscher.io.hark :as h))
(defn handler
[s]
(println (str "Detected line: " s)))
(with-open [s (h/tap handler :charset "UTF-8")]
;; write large amounts of encoded text to s
;; handler is called for every decoded line
)
```
### Java
Download the [latest release] and put in on your class path.
```java
import java.nio.charset.Charset;
import net.kiertscher.io.hark.StringListener;
import net.kiertscher.io.hark.StringParsingOptions;
import net.kiertscher.io.hark.StringParsingOutputStream;
...
StringListener listener = new StringListener() {
public void onString(String s) {
System.out.println("Detected line: " + s);
}
};
StringParsingOptions opts = new StringParsingOptions(
Charset.forName("UTF-8")
);
StringParsingOutputStream s = new StringParsingOutputStream(listener, opts);
// write encoded text data to s
// listener.onString(s) is called for every decoded line
s.close();
...
```
## License
Copyright © 2016 Tobias Kiertscher
Distributed under the Eclipse Public License either version 1.0 or
(at your option) any later version.
[travis-img]: https://img.shields.io/travis/mastersign/hark/master.svg
[travis-url]: https://travis-ci.org/mastersign/hark
[clojars-img]: https://img.shields.io/clojars/v/hark.svg
[clojars-url]: https://clojars.org/hark
[latest release]: https://github.com/mastersign/hark/releases/latest