Java – доступ запрещен java.io.FileNotFoundException

У меня есть следующий код:

List 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.) 

Что может быть причиной и как я могу это решить? У меня есть права на чтение и запись в этой папке.

Когда вы создаете новый 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(); } 

У меня есть поиск этой проблемы, и я получил следующие ответы:

  1. "C:\Program Files\Apache-tomcat-7.0.69\" удалить дополнительную обратную косую черту ( \ )
  2. Щелкните правой кнопкой мыши папку журнала в папке tomcat, а на вкладке безопасности укажите эту папку как разрешение на запись, а затем перезапустите net-beans в качестве запуска как администратор.

Ваша проблема будет решена

Вам необходимо установить разрешение для пользовательских элементов управления.

  1. Перейти к C: \ Program Files \
  2. Щелкните правой кнопкой мыши папку java, щелкните свойства. Выберите вкладку безопасности.
  3. Там нажмите кнопку «Изменить», которая откроет окно РАЗРЕШЕНИЯ ДЛЯ JAVA.
  4. Нажмите «Добавить», в котором появится новое окно. В этом поле «Введите имя объекта» введите свое имя учетной записи пользователя и нажмите «ОК» (если оно уже существует, пропустите этот шаг).
  5. Теперь в окне «PERMISSIONS OF JAVA» вы увидите несколько интерактивных параметров, таких как CREATOR OWNER, SYSTEM, среди которых ваше имя пользователя. Нажмите на нее и отметьте опцию FULL CONTROL в Разрешениях для вспомогательного windows.
  6. Наконец, Хит применим и все в порядке.

Убедитесь, что каталог существует, у вас есть разрешение на доступ к нему и добавление файла в путь для записи журнала:

 File file = new File("D:/Data/" + item.getFileName()); 
  • Как использовать SwingWorker в Java?
  • Пакет Hibernate Mapping
  • Как переопределить метод equals в java
  • Использование JavaFX Platform.runLater и доступ к пользовательскому интерфейсу из другого streamа
  • Добавление внешней библиотеки в банку артефактов в IntelliJ IDEA
  • .gif изображение не перемещается при добавлении его в панель JTabbed
  • Имея стороннюю банку, включенную в затененную банку Maven, не добавляя ее в локальный repository
  • Как просмотреть SQL-запросы, выпущенные JPA?
  • Spring Boot и несколько внешних файлов конфигурации
  • Как имитировать БД для тестирования (Java)?
  • Вызовите «java -jar MyFile.jar» с дополнительной опцией classpath
  • Interesting Posts
    Давайте будем гением компьютера.