我有以下代码:
List<FileItem> items = uploadHandler.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
File file = new File("D:/Data");
}
}
当我尝试保存文件时,我收到以下错误
java.io.FileNotFoundException: D:\Data (Access is denied.)
可能是什么原因,我该如何解决这个问题?我对此文件夹有读写权限。
答案 0 :(得分:61)
当您创建新的File
时,您应该提供文件名,而不仅仅是您要将文件放入的目录。
尝试使用类似
的内容File file = new File("D:/Data/" + item.getFileName());
答案 1 :(得分:19)
不完全是这个问题的情况,但可能会有所帮助。 当我在新文件而不是父文件上调用mkdirs()时,我遇到了这个异常
File file = new java.io.File(path);
//file.mkdirs(); // wrong!
file.getParentFile().mkdirs(); // correct!
if (!file.exists()) {
file.createNewFile();
}
答案 2 :(得分:6)
我已经搜索了这个问题,我得到了以下答案:
"C:\Program Files\Apache-tomcat-7.0.69\"
删除额外的反斜杠(\
)您的问题将得到解决
答案 3 :(得分:4)
您需要为用户控件设置权限。
答案 4 :(得分:4)
确保该目录存在,您有权访问它并将该文件添加到写入日志的路径中:
File file = new File("D:/Data/" + item.getFileName());