当前位置: 首页 > 知识库问答 >
问题:

intelliJ找不到特定的方法

施振海
2023-03-14

下面的代码中有一个编译错误,我不知道如何修复。

 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:找不到symbol
symbol:方法readString(java.nio.file.Path)
位置:类java。尼奥。文件文件夹

有很多事情需要注意。

>

  • 这只发生在java中的readString(Path)中。尼奥。文件文件。如果我尝试size(Path)(java.nio.file.Files中的另一种方法),它可以工作
  • 这段代码在intelliJ中不起作用,但在eclipse中起作用

    如果我在intelliJ中创建一个新项目,但不在我从github克隆的当前Maven项目中,则此代码有效

    我在这里尝试了所有建议,包括:

    • 建造
  • 共有3个答案

    刘星火
    2023-03-14

    与Lindstorm和Axel answers一样,这个问题是由于Java版本的错误配置造成的。您可能使用不同于JDK 11的源/目标版本(至少对于Files::readString)构建源代码。我用上述方法解决了这个问题。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
            <source>11</source>
            <target>11</target>
        </configuration>
    </plugin>
    

    我在maven pluginmaven-compiler-plugin中添加了配置部分。如果您没有这部分(例如。您使用Spring boot run),请将其添加到您的pom.xmlplugins区域。

    艾望
    2023-03-14

    文件。readString(Path)是在Java11中引入的。您的安装似乎仍在Java 8上。

    首先,通过在project Settings/project下设置正确的SDK和语言级别,确保您的项目使用Java 11。

    如果这不起作用,请确保您已经安装了JDK 11版本的IntelliJ。当您单击IntelliJ下载页面上下载按钮右侧的向下小角度时,您可以在IntelliJ下载页面上选择JDK 8和JDK 11版本。

    宋昕
    2023-03-14

    正如Axel的回答所指出的,问题确实与Java版本有关,但这不是SDK或语言级别。

    解决这个问题的办法是去归档

    请注意,如果此错误一直发生在您身上,这可能是因为您的pom.xml.中未指定源和目标版本有关更多详细信息,请参阅此问题

     类似资料:
    • 所以我正在学习Selenium用于Java的测试自动化,我有一个错误消息,比如IntelliJ中的标题“windows()”是红色的。 我试图导入org.openqa.selenium.WebDriver。选项,但它是灰色的,所以没用。 我能做些什么来解决这个问题? 提前谢谢

    • 问题内容: 我正在使用Core Data开发应用程序。当我 使用以下方法创建实例时: 我在日志中收到警告: 我该如何解决? 还有另一个问题,如何在NSManagedObject 子类中定义实例方法? 问题答案: Xcode 7的更新(最终):不再需要在类之前添加模块名称(如Xcode6和Xcode7的早期beta版本一样)。Apple文档“ 实现核心数据托管对象子类”已相应更新。 数据模型检查器现

    • 我正在处理一个scala项目,这是我的规范: 我知道这里已经有人问过这个问题,但提供的解决办法并不奏效,我很绝望,我试过: 但这并不奏效。

    • 我对intellij和Spock很陌生。 我正在使用Gradle将spock测试添加到我的spring boot项目中。以下是我的: 构建直接运行良好。

    • 我完全卸载了IntelliJ,现在已经重新安装并导入了我的项目。我使用gradle导入,可以看到我项目中的所有文件。然而,当我打开一个文件时,我找不到任何声明可以通过执行cmd+click来转到。我已经安装了Java7SDK,我甚至无法在自己的项目中进行类的声明。转到像或这样的Java核心类也不起作用。如何使IDE能够找到我的类? 我在OSX优胜美地,IntelliJ 2016.1.2 build