Code Review Request: 7168172: (fs) Files.isReadable slow on Windows
Zhong Yu
zhong.j.yu at gmail.com
Thu Aug 23 08:08:51 PDT 2012
Ulf you are right.
Question about release schedule: will this fix be included in a jdk7 release?
On Thu, Aug 23, 2012 at 7:53 AM, Ulf Zibis <Ulf.Zibis at gmx.de> wrote:
> Am 23.08.2012 01:50, schrieb Zhong Yu:
>>>
>>> public void checkAccess(Path obj, AccessMode... modes) throws
>>>
>>> IOException {
>>> AccessMode r = null;
>>> AccessMode w = null;
>>> AccessMode x = null;
>>> for (AccessMode mode: modes) {
>>> switch (mode) {
>>> case READ : r = READ; break;
>>> case WRITE : w = WRITE; break;
>>> case EXECUTE : x = EXECUTE; break;
>>> default: throw new AssertionError("Should not get
>>> here");
>>> }
>>> }
>>
>> That'll leave r==null if `modes` is empty. But an empty `modes` is
>> supposed to be equivalent to [READ].
>
>
> Yes, but in that case w and x are also null, so the "special-case read
> access" will be invoked anyway, and the null-ness of r wouldn't matter.
>
>>> WindowsPath file = WindowsPath.toWindowsPath(obj);
>>>
>>> // special-case read access to avoid needing to determine
>>> effective
>>> // access to file
>>> if (w == null && x == null) {
>>> tryReadAccess(file);
>>> return;
>>> }
>>>
>>> ...
>>> }
>>>
>>> -Ulf
>>>
>
More information about the nio-dev
mailing list