Created
November 3, 2010 20:09
-
-
Save raek/661631 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(import '(java.io InputStream Reader)) | |
(def buffer-size 8192) | |
(defn byte-seq [^InputStream input-stream] | |
(lazy-seq | |
(let [buffer (make-array Byte/TYPE buffer-size) | |
size (.read input-stream buffer)] | |
(when-not (= size -1) | |
(lazy-cat (take size buffer) | |
(byte-seq input-stream)))))) | |
(defn char-seq [^Reader reader] | |
(lazy-seq | |
(let [buffer (make-array Character/TYPE buffer-size) | |
size (.read reader buffer)] | |
(when-not (= size -1) | |
(lazy-cat (take size buffer) | |
(char-seq reader)))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment