On Thu, Feb 6, 2014 at 9:04 AM, sebb <seb...@gmail.com> wrote:

> On 6 February 2014 13:53, Gary Gregory <garydgreg...@gmail.com> wrote:
> > Looking at code like DiskFileItem:684:
> >
> >             FileInputStream input = new FileInputStream(dfosFile);
> >             IOUtils.copy(input, output);
> >
> > Why is this not:
> >
> >             FileInputStream input = new FileInputStream(dfosFile);
> >             try {
> >                 IOUtils.copy(input, output);
> >             } finally {
> >                 input.close();
> >             }
> >
> > ?
>
> Oversight?
>
> The local Streams.copy() methods do close input and optionally output.
> Maybe it was thought IO did the same?
>
> The close should perhaps be
>
> IOUtils.closeQuietly()
>
> Are we interested in knowibg about input close() failures?
>

Good question. I would guess 'yes'. If you write to a file and then cannot
close it, you might not have flushed it, so the file could be corrupt?

Gary


>
> > Gary
> >
> >
> > --
> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > Java Persistence with Hibernate, Second Edition<
> http://www.manning.com/bauer3/>
> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > Spring Batch in Action <http://www.manning.com/templier/>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to