gpt4 book ai didi

java - 无法解析方法 readAllBytes()

转载 作者:行者123 更新时间:2023-12-03 03:07:34 42 4
gpt4 key购买 nike

我想做什么
我正在尝试构建一个 java.net 应用程序,其中客户端和服务器必须通过序列化集合类型相互发送数据,如 byte[] .
问题
由于未知原因,我的 DataInputStream 无法解析方法 readAllBytes() .
一个 friend 把它扔进了他的 IDE,它没有提示。我不确定这怎么可能是一个版本问题,但我检查过并且我没有错误配置我的项目。我正在使用 Java 8。

  public void startClient() {
try {
Socket client = new Socket("localhost", 7000);
DataOutputStream out = new DataOutputStream(client.getOutputStream());
out.writeUTF("Hi i'm " + client.getLocalSocketAddress());
DataInputStream input = new DataInputStream(client.getInputStream());
byte[] sent = input.readAllBytes(); //"can't resolve method 'readAllBytes()'
getDataFromClient(input.readAllByes());
//"can't resolve method 'readAllBytes()'
client.close();


} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
enter image description here
我确实确定应该支持这种方法,但我不知道为什么它不支持 since it is listed as a method, inherited from Input Stream (docs.oracle.com) .
包含该方法的项目也是一个 Gradle 项目。因此,为了完成图片,这是 build.gradle:
plugins {
id 'java'
id 'application'
}

sourceSets {
main {
resources {
srcDirs = ["src/main/java"]
includes = ["**/*.fxml","**/*.png"]
}
}
}

group 'prog3'
version '0.1'
mainClassName='Client'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
testCompile group: 'org.mockito', name: 'mockito-core', version: '2.1.0'
}
编辑:结果根据答案,Java 8 是不够的,我应该使用 Java 9。经典的 RTFM 问题。

最佳答案

根据 InputStream.readAllBytes() 方法 javadoc 这个方法是在 Java 9 中引入的。

Since:

9


当代码在较低的 Java 版本上编译时,它不起作用,在你的情况下是 Java 8。

关于java - 无法解析方法 readAllBytes(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269211/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com