出于某种原因,每次我尝试使用 Tomcat 上的 java 网络应用程序写入计算机上的文件夹时,我都会得到 java.nio.file.AccessDeniedException
。此文件夹的权限设置为完全控制我的计算机(Windows)上的所有人。有人知道为什么我有这个例外吗?
这是我的密码:
public void saveDocument(String name, String siteID, byte doc[]) {
try {
Path path = Paths.get(rootDirectory + siteID);
if (Files.exists(path)) {
System.out.println("Exists: " + path.toString());
Files.write(path, doc);
} else {
System.out.println("DOesn't exist");
throw new Exception("Directory for Site with ID " + siteID + "doesn't exist");
}
} catch (FileSystemException e) {
System.out.println("Exception: " + e);
e.printStackTrace();
} catch (IOException e ) {
System.out.println("Exception: " + e);
e.printStackTrace();
} catch (Exception e) {
System.out.println("Exception: " + e);
e.printStackTrace();
}
这里有一个错误:
例外: java.nio.file. AccessDeniedException: C: safesite _ files site1 异常: C: safeesite _ files site1 在 sun.nio.fs. WindowsException.transateToIOException (WindowsException.java: 83) 在 sun.nio.fs. WindowsException.rethrowAsIOException (WindowsException.java: 97) 在 sun.nio.fs. WindowsException.rethrowAsIOException (WindowsException.java: 102) 在 sun.nio.fs. WindowsFileSystemProvider.newByteChannel (WindowsFileSystemProvider.java: 230) 在 java.nio.file.spi. FileSystemProvider.newOutputStream (FileSystemProvider.java: 430) 在 java.nio.file. Files.newOutputStream (Files.java: 172) 在 java.nio.file. Files.write (Files.java: 3092)
可能的原因: 看看我在超级用户上的文章,我不能取消选中“只读”我的任何文件夹在 Windows 7。尽管所有的文件夹都只读到 java。