java.nio.file Files.isWritable无法与网络共享驱动器一起使用

时间:2019-02-05 07:08:14

标签: java java.nio.file

我有一个Java应用程序,可以在给定位置写入文件。 在写之前,我正在使用 Files.isWritable(path)检查提供的路径是否可写。

当用户提供网络共享驱动器中存在的文件夹的路径时。 然后获取 AccessDeniedException

不知道发生了什么,我是否错过了什么。因为我能够在共享驱动器上创建/编辑/删除文件和文件夹。

但是Java应用程序无法执行此操作。

在搜索一些答案时发现了这一点 https://bugs.openjdk.java.net/browse/JDK-8034057 不知道它是否与我的问题有关。

有人可以帮助我解决这个问题,并告诉我怎么了。

还与网络团队联系过。我对共享驱动器具有完全的读写权限。

Java版本1.8.0_191

OS- Win 7企业版

这是我要检查的代码

private static boolean isWritable(Path path)
{
    if(Files.isWritable(path))
    {
        return true;
    }
    else
    {
        try (FileChannel fc = FileChannel.open(path, StandardOpenOption.WRITE))
        {
            // NOP
        }
        catch(IOException e)
        {
            if(LOGGER.isDebugEnabled())
            {
                LOGGER.debug("", e);
            }
            return false;
        }
        return true;
    }
}

附加图像。所以基本上我不能在4个共享驱动器中的任何一个(即I / O / R / S驱动器)中创建文件,但是我可以在C / D驱动器中创建。手动我可以,但是使用Java程序却不能。 enter image description here

0 个答案:

没有答案