Java Clojure-是否从字节数组中删除0?
我正在将文件读入字节数组,但是字节数组有一些尾随的0,我想删除它们(返回不带0的新字节数组)。但是字节数组不是一个列表式的东西,所以我不能在它上面使用filter/remove/map 是在字节数组上使用递归的唯一解决方案吗Java Clojure-是否从字节数组中删除0?,java,clojure,Java,Clojure,我正在将文件读入字节数组,但是字节数组有一些尾随的0,我想删除它们(返回不带0的新字节数组)。但是字节数组不是一个列表式的东西,所以我不能在它上面使用filter/remove/map 是在字节数组上使用递归的唯一解决方案吗 谢谢 您应该能够在字节数组上使用序列操作: (byte-array (take-while pos? (.getBytes (slurp "some/binary/file.dat")))) Clojure中的字节数组是一个序列,而filter、map和其他函数处理序列
谢谢 您应该能够在字节数组上使用序列操作:
(byte-array (take-while pos? (.getBytes (slurp "some/binary/file.dat"))))
Clojure中的字节数组是一个序列,而filter、map和其他函数处理序列 可以使用此函数删除尾随零:
(defn pos-byte-arrayE
[seq]
(take-while pos? seq))
您可以在字节数组上使用过滤器来删除所有零
(defn pos-byte-arrayF
[seq]
(filter pos? seq))
repl-test.core=> (pos-byte-arrayF [1 2 3 0])
(1 2 3)
我找到了。。。我没意识到这个记号不是用来装饰的。感谢一般性说明。。在Clojure中有
seq
s,然后有sekable
东西。Java数组是可排序的,因此(seq a)
返回一个由a
支持的seq
。