我创建了一个Java程序,可以使用URL下载一个文件,但现在我希望它可以使用多个线程下载多个文件。我可以使用相同的方法并遍历URL列表来获取文件吗?或者有人可以推荐一种方法去解决它吗?Java下载器 - 下载多个文件
回答
你可以使用这样的事情:
void download(URL url){
...
}
void downloadAll(URL[] urls){
for(URL url : urls){
Thread t = new Thread(() -> download(url));
t.start();
}
}
编辑:
作为@LouisF。提到解决此问题的推荐方法是Executors
。因此,而不是使用Thread
S中的简单的例子,这将是更合适的,但藏汉复杂一点的办法:
ExecutorService service = Executors.newChachedThreadPool();
for(URL url : urls)
service.submit(() -> download(url);
我不完全理解你的意思,抱歉,它正在创建线程,它还在做其他事情吗? –
@ b.d这个想法是简单地将用于下载文件的例程打包到一个单独的方法中,该方法只需要最基本的参数并从线程内启动该方法。我已经将下载程序本身留给了你。其余的只是解决这种并行执行问题的最常见的方式。 – Paul
不应该直接使用线程,而应该使用更多的执行程序和任务。您可以参考有效Java(第2版)的第68项和此链接http://baptiste-wicht.com/posts/2010/09/java-concurrency-part-7-executors-and-thread-pools.html示例 –
- 1. 下载多个文件Java Spring
- 2. JAVA:同时下载多个文件?
- 3. 在Groovy/Java下载文件下载
- 4. IOS下载多个文件
- 5. Asp.net多个文件下载
- 6. django多个文件下载
- 7. restfull多个文件下载
- 8. HttpWebResponse多个文件下载
- 9. 下载多个文件AFDownloadRequestOperation
- 10. 下载多个dataURL文件
- 11. 下载多个文件WebClient
- 12. 下载多个XML文件
- 13. Node.js下载多个文件
- 14. 多文件下载
- 15. 文件下载(不下载?)
- 16. Java多线程文件下载性能
- 17. Java多连接下载文件
- 18. java中的多线程文件下载
- 19. Java HTTPS文件下载?
- 20. java post和下载文件
- 21. java URL文件下载
- 22. 使用Java下载文件
- 23. Java中的文件下载
- 24. 用Java下载文件
- 25. 下载.torrent文件Java
- 26. Java Applet下载文件
- 27. 要求下载多个PDF文件以便下载的地方。
- 28. Android让下载管理器一次下载一个文件?
- 29. NSurlSession - 下载许多文件
- 30. AFHTTPClient多文件下载
你能发布您的代码的相关部分,所以我们可以看到,如果它可以用在多线程的方式? – SaschaM78
你的问题太广泛了。发布一些你已经拥有的代码,并显示你到底在哪里卡住。没有人会为你写信,只有你提供了足够的信息,你才能得到建议。 –