RFR  java.nio.file.Files.readAllBytes() does not read any data when Files.size() is 0
forax at univ-mlv.fr
Fri Jul 19 17:43:09 UTC 2013
On 07/19/2013 07:15 PM, Ivan Gerasimov wrote:
> Hello everybody!
> Would you please review a fix for the problem with
> j.n.f.Files.readAllBytes() function?
> The current implementation relies on FileChannel.size() to preallocate
> a buffer for the whole file's content.
> However, some special filesystems can report a wrong size.
> An example is procfs under Linux, which reports many files under /proc
> to be zero sized.
> Thus it is proposed not to rely on the size() and instead continuously
> read until EOF.
> The downside is reallocation and copying file content between buffers.
> But taking into account that the doc says: "It is not intended for
> reading in large files." it should not be a big problem.
> The fix is for JDK8. If it is approved, it can be applied to JDK7 as
> Sincerely yours,
> Ivan Gerasimov
Is not better to just not trust the filesystem when a call to size()
returns 0 ?
More information about the core-libs-dev