You can't do nothing for 2) except hiding that or looking for a library, that does the hiding for you - this is how the java class is implemented. If you want to "hide" it a bit better, you can do something like
(-> stream (doto (.getNextEntry)) (clojure.java.io/reader) (clojure.data.csv/read-csv) (doall)))
which makes it look a bit more "pipeliney" than just the imperative call in between some lines. Yet I am not sure, what you question here is - this looks alot like a request for a code review? —
cfrick 27 secs ago