You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jochen Wiedmann (JIRA)" <ji...@apache.org> on 2011/03/13 17:20:59 UTC

[jira] Commented: (IO-174) CharSequenceReader does not obey Reader contract and throw IOExceptions if read when closed

    [ https://issues.apache.org/jira/browse/IO-174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006216#comment-13006216 ] 

Jochen Wiedmann commented on IO-174:
------------------------------------

Niall, I don't agree with you. While preservation of binary compatibility is an important topic, I do believe that the general contract of java.io.Reader takes precedence.


> CharSequenceReader does not obey Reader contract and throw IOExceptions if read when closed
> -------------------------------------------------------------------------------------------
>
>                 Key: IO-174
>                 URL: https://issues.apache.org/jira/browse/IO-174
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Streams/Writers
>    Affects Versions: 1.4
>            Reporter: Douglas Hauge
>         Attachments: IO-174.patch
>
>
> In the Java specs for [*java.io.Reader.close()*|http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html#close()], it states
> {panel}
> Once a stream has been closed, further read(), ready(), mark(), or reset() invocations will throw an IOException
> {panel}
> However, the *org.apache.commons.io.input.CharSequenceReader* does not do this, but instead resets the file back to the start when it is closed. This causes problems when passing this reader to some libraries (albeit admittedly poorly written ones) that rely on *read* throwing an *IOException* after the reader has been closed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira