我正在使用java 8进行作业,我不知道如何用流读取文件。我试过这种方式,但它给了我一个错误消息:“线程中的异常”主“java.lang.Error:未解决的编译问题:(String)的方法未定义为vb2018.Vb2018.main类型的路径(Vb2018)的.java:17)”
package vb2018;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.stream.Stream;
public class Vb2018 {
public static void main(String[] args) throws IOException {
Stream<String> lines = Files.lines(Path.of("vb2018.txt")).map(Helyszin::new).toArray(Helyszin[]::new);
}
static class Helyszin {
String city;
String name1;
String name2;
int chairs;
public Helyszin(String line) {
String[] split = line.split(";");
this.city = city;
this.name1 = name1;
this.name2 = name2;
this.chairs = chairs;
}
}
}
您已经配置了编辑器(和编译器),以至于它认为这是一个java 11项目。 Path.of()
方法确实存在;但是在java 8中没有添加它(它是java 11的一部分)。通常,您只需使用java即可完成此操作;如果你已经安装了任何java11 JDK,那么一切都默认为这个。
但是后来你试图在java8上运行你的应用程序,那就失败了,因为Path.of()
不存在。
您应该将编辑器对版本的理解与您正在编译的任何内容同步并运行它。因此,要么使用java11运行你的东西,要么告诉你的编辑器你的jdk8安装在哪里,配置项目以使用具有java 1.8的源和目标级别的JDK,如果你还要从命令行编译,make确定你也在那里使用java8。