Bringing all file operations together into one place
forax at univ-mlv.fr
Thu Jan 13 03:23:04 PST 2011
On 01/13/2011 12:03 PM, Alan Bateman wrote:
> Rémi Forax wrote:
>> First, I think this version of the API easier to use.
> Thanks for spending time on it.
>> readLines: why not returning a lazy Collection instead of a List.
>> if a user want a List, this code
>> List<String> lines = new ArrayList<>(Files.readLines(...))
> Like readBytes (or readAllBytes as you've suggested), this method
> reads the entire file so I didn't make it lazy. An Iterable<String>
> might be better but I initially proposed it as List so that it could
> be used as such if needed.
>> Or perhaps better, wait jdk 8 and the stream API.
>> readBytes() can be renamed to readAllBytes().
> Maybe, it was originally readAllBytes way back.
I think I prefer readAllBytes and readAllLines. And future will tell if
lazy versions will be added later.
>> write(...): javadoc should also contains an example showing how to
>> create a new File:
>> Files.write(path, bytes, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE);
>> because I'm sure that users will forget TRUNCATE_EXISTING.
> This is the default if you don't specify any options ("That is, if no
> options are present then file is created if it doesn't exist or is
> first truncated to a size of 0 if it exists"). The idea is that you
> shouldn't need to specify any ideas for the common case, ie:
> Files.write(path, bytes). Maybe I need to make that clearer in the docs.
Perhaps just something saying that this is equivalent to
> Thanks again (as always).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nio-dev