文字列を直接指定することはできないので、 getBytes メソッドで配列を取得して ByteArrayInputStreamを作成することで、指定した文字列を読み込むことのできるReaderを作成できます。
(->> (.getBytes "hoge") java.io.ByteArrayInputStream. java.io.InputStreamReader. java.io.BufferedReader. .readLine) ;; => "hoge" (with-open [r (clojure.java.io/reader (.getBytes "Hello\nWorld\n"))] (list (.readLine r) (.readLine r))) ;; => ("Hello" "World")
私だったら StringReader と line-seq を使うかも:
返信削除user=> (import '(java.io StringReader BufferedReader))
java.io.BufferedReader
user=> (-> "Hello\nWorld\n" StringReader. BufferedReader. line-seq)
("Hello" "World")
アドバイスありがとうございます。
削除StringReaderの方が短くて良いですね。
Java側の知識も増やしていこうと思います。