In general Java it is up to the creator of a "stream" to close it, the same
applies to Clojure pretty much.
Java has "try with resources" and in Clojure you can use "with-open":
(with-open [rdr (open-the-reader)]
(edn/read rdr {}))
This will ensure .close is called in a finally block.
HTH,
Thomas
On Friday, September 2, 2016 at 2:24:31 PM UTC+2, John Valente wrote:
>
> Running on Windows, I found that I could not delete an edn file that I had
> read from. I've looked at a few examples of reading edn, and none of them
> seem to suggest that the user code should explicitly call close() on the
> Java object, or that it needs to use with-open. Should I be doing
> something like that?
>
> I wonder why Clojure doesn't call close when it hits EOF:
>
>
> https://github.com/clojure/clojure/blob/c6756a8bab137128c8119add29a25b0a88509900/src/jvm/clojure/lang/EdnReader.java#L134
>
> Maybe it shouldn't be necessary, but it seems safe to me:
>
>
> https://docs.oracle.com/javase/7/docs/api/java/io/PushbackReader.html#close()
>
> I've mostly worked on a Mac, where I haven't had trouble. This only
> happened to me on Windows, and only once (so far). I haven't tried to
> reproduce it. It is certainly possible I did something else wrong to cause
> the file to get into an undeletable state. Still, it does seem to me it
> would be safe to have the Clojure Java source code call close(), unless I'm
> missing something.
>
> Thanks,
> John
>
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.