Вопрос

Я пытаюсь прочитать файлы внутри папки, но когда я запускаю программу, она бросает это исключение. Я тоже пытался с некоторыми другими папками. Это бросает одно и то же исключение.

Exception in thread "main" java.io.FileNotFoundException: C:\backup (Access is denied)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
Это было полезно?

Решение

Вы не можете открыть и прочитать каталог, используйте isFile() а также isDirectory() Методы различить файлы и папки. Вы можете получить содержимое папок, используя list() а также listFiles() Методы (для имена файлов и Files Уверенно) Вы также можете указать фильтр, который выбирает подмножество перечисленных файлов.

Другие советы

  1. Проверьте ответ RSP
  2. Убедитесь, что у вас есть разрешения, чтобы прочитать файл
  3. Проверьте, не заблокирован ли файл другим приложением. Это актуально в основном, если вы находитесь в Windows. Например, я думаю, что вы можете получить исключение, если вы пытаетесь прочитать файл, пока он открыт в блокноте

Кроме того, в некоторых случаях важно проверить Целевые разрешения папки. Отказ Чтобы дать разрешение на запись для пользователя может быть решение. Это работало для меня.

Вот куча, которую я только что обнаружил - возможно, это может помочь кому-то еще. При использовании Windows The Classes папка не должна иметь включенное шифрование! Томкат, кажется, не нравится. Щелкните правой кнопкой мыши на папке классов, выберите «Свойства», а затем нажмите кнопку «Дополнительно ...». Убедитесь, что флажок «Содержание шифрования для защищенного данных» очищен. Перезапустите Tomcat.

Он работал для меня, так что вот надеясь, что это тоже поможет кому-то еще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top