Java-Доступ запрещен java.Ио.FileNotFoundException [дубликат]
этот вопрос уже есть ответ здесь:
- Ява.Ио.Исключение filenotfoundexception: (отказано в доступе) 4 ответы
у меня есть следующий код:
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.)
что может быть причиной и как могу я это решить? У меня есть разрешение на чтение и запись в эту папку.
5 ответов
при создании нового File
, вы должны указать имя файла, а не только каталог, в который вы хотите поместить свой файл.
попробуйте что-то вроде
File file = new File("D:/Data/" + item.getFileName());
не совсем случай этого вопроса, но может быть полезным. Я получил это исключение, когда я вызываю mkdirs () в новом файле вместо его родителя
File file = new java.io.File(path);
//file.mkdirs(); // wrong!
file.getParentFile().mkdirs(); // correct!
if (!file.exists()) {
file.createNewFile();
}
у меня поиск этой проблемы и я получил следующие ответы:
-
"C:\Program Files\Apache-tomcat-7.0.69\"
удалите дополнительную обратную косую черту (\
) - щелкните правой кнопкой мыши папку журнала в папке tomcat и на вкладке Безопасность дайте этой папке разрешение на запись, а затем перезапустите net-beans как запуск от имени администратора.
ваша проблема будет решена
вам нужно установить разрешение для пользовательских элементов управления .
- Гото C:\Program Файлы\
- щелкните правой кнопкой мыши папку java, выберите Свойства. Выберите вкладку Безопасность.
- там, нажмите на кнопку" Изменить", которая будет всплывать разрешения для окна JAVA.
- нажмите Add, в котором появится новое окно. В этом случае в поле" Введите имя объекта " введите имя учетной записи пользователя и нажмите ладно(если уже существует, пропустите этот шаг).
- сейчас в Окно "разрешения JAVA", вы увидите несколько кликабельных параметры, такие как CREATOR OWNER, SYSTEM, среди них ваш имя пользователя:. Нажмите на него и отметьте опцию "полный контроль" в Разрешения для подокна.
- наконец, нажмите Применить и ОК.
убедитесь, что каталог существует, у вас есть разрешение на доступ к нему и добавьте файл в путь для записи журнала:
File file = new File("D:/Data/" + item.getFileName());