当我调用
Files.createTempDirectory("")
时,会出现以下异常:java.lang.NullPointerException
at sun.nio.fs.WindowsSecurityDescriptor.fromAttribute(WindowsSecurityDescriptor.java:353)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:220)
at java.nio.file.Files.newByteChannel(Files.java:315)
at java.nio.file.Files.createFile(Files.java:586)
at java.nio.file.TempFileHelper.create(TempFileHelper.java:138)
at java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:161)
at java.nio.file.Files.createTempFile(Files.java:803)
我发现使用Files.createTempDirectory("")
的示例中没有传递任何FileAttribute
s。
我尝试了Files.createTempDirectory("", new FileAttribute<?>[] { });
,但也没有帮助。
我在Windows 7系统上使用32位JDK 7,我不是机器上的本地管理员。
有人遇到过这个问题吗?
更新1:
Files.createTempFile(this.tempDir.toPath(), "tmpFile", "");
似乎也有同样的问题。
作为一种解决方法,我转而使用com.google.common.io.Files.createTempDir()
。