我想确定我的Java程序以编程方式运行的主机的操作系统(例如:我希望能够根据我是在Windows还是Unix平台上加载不同的属性).100%可靠性最安全的方法是什么?
我正在使用带有java 7更新6的Windows-7并发现这个奇怪的(至少对我而言)行为 -
我有两个文件E:\delete1.txt并且E:\delete2.txt都是只读文件,当我尝试删除文件时,如果它被删除而没有任何问题 -
File file = new File("E:\\delete1.txt");
assertTrue(file.delete());
Run Code Online (Sandbox Code Playgroud)
但是当我使用nio API删除文件时如下 -
Path path = Paths.get("E:\\delete2.txt");
Files.delete(path);
Run Code Online (Sandbox Code Playgroud)
它抛出java.nio.file.AccessDeniedException.
为什么使用旧的和新的nio API进行相同操作的行为不同?