服务器:192.168.0.18/share是Samba服务器,所有的可以写入路径有一些错Files.isWritable
Files.write(Paths.get(URI.create("file://192.168.0.18/share/aa/aaaa")), "asd34234asdasd".getBytes(), StandardOpenOption.CREATE,StandardOpenOption.APPEND);
System.out.println(Files.isWritable(Paths.get(URI.create("file://192.168.0.18/share/aa/aaaa"))));
我发现,第一线真正创建一个文件添加追加其中的文字。
但第二行返回false。
我不知道为什么。
我试试JDK7_u5 & u13。
谢谢。
从API文档:返回:如果文件存在且为可写;如果文件不存在,则为false,因为Java虚拟机没有足够的权限或者无法确定访问权限,写入访问将被拒绝。基本上,“假”并不意味着你不能写。这只是意味着JVM不知道你可以。 – supersam654 2013-02-27 14:30:21
在Windows上这是坏的。即使使用Java 8u5,如果您没有写权限,isWritable也会返回true。 – swpalmer 2014-07-22 19:42:59