gpt4 book ai didi

java - 你如何从 Java 中的 InputStream 读取并转换为字节数组?

转载 作者:可可西里 更新时间:2023-11-01 16:30:27 24 4
gpt4 key购买 nike

我目前正在尝试从服务器响应中读取数据。我正在使用 Socket 连接到服务器,创建一个 http GET 请求,然后使用 Buffered Reader 读取数据。以下是压缩后的代码:

    Socket conn = new Socket(server, 80);
//Request made here
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String response;
while((response = inFromServer.readLine()) != null){
System.out.println(response);
}

我想读入数据,而不是作为字符串,作为字节数组,并将其写入文件。这怎么可能?非常感谢任何帮助,谢谢。

最佳答案

您需要使用一个ByteArrayOutputStream,执行如下代码:

Socket conn = new Socket(server, 80);
//Request made here
InputStream is = conn.getInputStream();

ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int readBytes = -1;

while((readBytes = is.read(buffer)) > 1){
baos.write(buffer,0,readBytes);
}

byte[] responseArray = baos.toByteArray();

关于java - 你如何从 Java 中的 InputStream 读取并转换为字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333434/

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