IntelliJ не может найти конкретный метод - PullRequest
0 голосов
/ 04 мая 2019

Я получаю ошибку компиляции в следующем коде, которую я не знаю, как исправить.

 public class Test throws IOException{
      public static void main(String[] args) {
           String path = "document.txt";
           File file = new File(path);
           Files.readString(file.toPath()); //cannot find symbol method readString(java.nio.file.Path)
      }
 }

, но я получаю

Ошибка: (8, 14)Java: не могу найти символсимвол: метод readString (java.nio.file.Path)location: class java.nio.file.Files

Есть несколько вещей, на которые следует обратить внимание.

  • Это происходит только для readString(Path) в java.nio.file.Files.Если бы я попытался size(Path) (другой метод в java.nio.file.Files), он работал бы
  • Этот код не работает в IntelliJ, но он работает в Eclipse

  • Этот код работает, если я создаю новый проект в intelliJ, но не в моем текущем проекте Maven, который я клонировал из github

Я испробовал все предложения здесь , включая:

  • Build> Rebuild Project
  • Перекомпиляция всего Test.java
  • Файл> Invalidate Caches
  • Проверено, что папка / src помечена как исходнаяпапка
  • Повторное импортирование зависимостей Maven

Ответы [ 2 ]

3 голосов
/ 04 мая 2019

Files.readString(Path) была введена в Java 11. Похоже, ваша установка все еще на Java 8.

Сначала убедитесь, что ваш проект использует Java 11, установив правильный SDK и уровень языка в Project Settings / Project.

Если это не сработает, убедитесь, что вы установили версию IntelliJ для JDK 11. Вы можете выбрать между версиями JDK 8 и JDK 11 на странице загрузки IntelliJ, щелкнув небольшой угол вниз справа от кнопки загрузки на странице загрузки IntelliJ .

1 голос
/ 04 мая 2019

Проблема действительно имела отношение к версии Java, но это был не SDK или языковой уровень.

Что удалось решить, выбрав Файл> Настройки> Сборка> Компилятор> Компилятор Java. Затем я изменил версию байт-кода проекта на 11 и удалил записи версии каждого байт-кода, которые были установлены на 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...