Hello, On Sat, May 16, 2015 at 6:48 PM, Robert Muir <[email protected]> wrote: [...] > > I don't understand the tradeoff being made here. The JDK will deliver > ... a little bit earlier exception to morons trying to read bytes from > a directory, at the cost of damaging impact to user's data for > everyone else? What kind of tradeoff is that? >
That's a little harsh (I'm the "moron" here). The thing is that you don't always get the choice of your inputs and if I happen to be given a string which turns out to be a path to a directory, it is expected that opening an `OutputStream` to it will fail. In fact, I'd even go as far as saying that introducing an IsDirectoryException would be pretty much ideal here. As to a new API, well, why not StandardOpenOption.DIRECTORY? O_DIRECTORY has existed for open(2) since POSIX.1-2008 (says open(2)), and it is even specified that if the path is not a directory the failure is ENOTDIR. Excellent, we have NotDirectoryException already. But at the core of the matter I disagree with your basic premise. To me, and to 100-epsilon% of users for that matter, it is perfectly logical that opening a stream to a directory should fail before you even attempt to read(). Regards, -- Francis Galiegue, [email protected], https://github.com/fge JSON Schema in Java: http://json-schema-validator.herokuapp.com Parsers in pure Java: https://github.com/fge/grappa --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
