gpt4 book ai didi

java - 常见 io copyUrlToFile 不起作用

转载 作者:行者123 更新时间:2023-12-01 12:27:05 33 4
gpt4 key购买 nike

我正在尝试调用返回 csv 文件的网络服务。因此,我调用的每个 URL 都有一个后缀,它是一个字符串,表示要生成哪个 csv。然后我想将此 csv 保存到文件中。有很多要生成,所以我从多个线程调用此类。每次我运行该程序时,完成后返回的文件量都是不同的。 Web 服务运行良好,因为如果我从未创建文件的浏览器手动调用 URL,则会生成并下载 csv。总共有大约 15,000 个 URL,由 12 个线程调用。我在输出控制台中没有收到任何错误,只是说构建成功。通常每次运行会生成大约 1500-2000 个文件,而不是 15000 个。我使用 apache 的通用 io FileUtils 库将 url 保存到文件中。

final int maxRetries = 5;
HistoryWebservice historyWS = new HistoryWebservice();
String history = historyWS.getHistory(maxRetries);

public class HistoryWebservice {
public String getHistory(int maxRetries, String str) throws Exception {
maxRetries = Math.max(0, maxRetries); //Make sure we don't have a negative retry counter

while (maxRetries >= 0) {
try {
FileUtils.copyURLToFile("http://myservice.myservice/" + str, "/tmp/file" + str);
}
catch(<Catch the timeout exception>) {
maxRetries--;
}
}

throw new TimeoutException("Max retries exceeded");
}

}

最佳答案

这是 UBUNTU 14.04 允许打开的文件。默认值为 2096,因此使用命令 ulimit -n 100000 现在可以正常运行。

关于java - 常见 io copyUrlToFile 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26246395/

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