Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用clojure读取大型命令输出_Clojure_Clojure Contrib - Fatal编程技术网

使用clojure读取大型命令输出

使用clojure读取大型命令输出,clojure,clojure-contrib,Clojure,Clojure Contrib,我使用clojure.java.shell命令中的sh函数来读取命令的非常大的输出。输出的数据约为60毫克 我一直得到java.lang.OutOfMemoryError。有没有办法打开一种管道,让我读取输出并将其解析为向量。像命令输出的惰性序列 基本上,数据是一个大的字节数组,我只想将其转换为数字并放入向量中 clojure.java.shell/sh将始终返回非惰性字符串 在BufferedReader上使用lazy line seq的解决方案(不处理关闭、环境传递和编码): (->&

我使用clojure.java.shell命令中的sh函数来读取命令的非常大的输出。输出的数据约为60毫克

我一直得到java.lang.OutOfMemoryError。有没有办法打开一种管道,让我读取输出并将其解析为向量。像命令输出的惰性序列


基本上,数据是一个大的字节数组,我只想将其转换为数字并放入向量中

clojure.java.shell/sh将始终返回非惰性字符串

在BufferedReader上使用lazy line seq的解决方案(不处理关闭、环境传递和编码):

(->> (.exec (Runtime/getRuntime) "YOUR_LONG_RUNNING_COMMAND ARG ...")
    .getInputStream
    clojure.java.io/reader
    line-seq
    (map YOUR-FUNCTION))