gpt4 book ai didi

java - 无法使用java代码将文件从一个地方传输到另一个地方

转载 作者:行者123 更新时间:2023-12-01 16:39:39 25 4
gpt4 key购买 nike

我正在使用如下所示的东西:

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(targerFile);
HttpResponse response = httpclient.execute(httpGet);

// get the response body as an array of bytes
HttpEntity entity = response.getEntity();

// write for the destination file

InputStream instream = null;
if (entity != null) {
instream = entity.getContent();

ByteArrayOutputStream bytOut = new ByteArrayOutputStream();
int x;
do {
x = instream.read();
if (x != -1) {

bytOut.write(x);
instream.close();
bytOut.close();
}
} while (x != -1);
FileOutputStream fout = new FileOutputStream(destinationFile);
fout.write(bytOut.toByteArray());
fout.close();

但直到那时我才发现来自 httpclient 的输入流已关闭。所以我无法多次阅读它。有什么解决办法吗?或者这不是正确的方法?

最佳答案

使用org.apache.http.util.EntityUtils:

byte[] data = EntityUtils.toByteArray(response.getEntity());
httpClient.getConnectionManager().shutdown();

使用 commons-io 中的 FileUtils 将该字节数组写入文件:

FileUtils.writeByteArrayToFile(destinationFile, data);

关于java - 无法使用java代码将文件从一个地方传输到另一个地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248121/

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