Clojure,文件到字节数组?

Clojure,文件到字节数组?,clojure,Clojure,我有一个.bson文件,在解码之前需要添加到字节数组中 我想知道是否有人能解决如何使用Clojure将文件添加到字节数组的问题 谢谢。最简洁的方法就是使用库,在库中只需调用(byte streams/to byte array(java.io.File.path)) 如果您希望在没有外部库的情况下执行此操作,它将类似于: (let [f (java.io.File. "path") ary (byte-array (.length f)) is (java.io.File

我有一个.bson文件,在解码之前需要添加到字节数组中

我想知道是否有人能解决如何使用Clojure将文件添加到字节数组的问题


谢谢。

最简洁的方法就是使用库,在库中只需调用
(byte streams/to byte array(java.io.File.path))

如果您希望在没有外部库的情况下执行此操作,它将类似于:

(let [f (java.io.File. "path")
      ary (byte-array (.length f))
      is (java.io.FileInputStream. f)]
  (.read is ary)
  (.close is)
  ary)

与扎克的回答有些相似, 从

(require '[clojure.java.io :as io])

(defn file->bytes [path]
  (with-open [in (io/input-stream path)
              out (java.io.ByteArrayOutputStream.)]
    (io/copy in out)
    (.toByteArray out)))

(file->bytes "/x/y/z.txt")