如何将文件保存到在 REST URL 请求中下载的某个文件夹? [复制]
Posted
技术标签:
【中文标题】如何将文件保存到在 REST URL 请求中下载的某个文件夹? [复制]【英文标题】:How to save a file to a certain folder which was downloaded in a rest URL request? [duplicate] 【发布时间】:2016-04-03 14:24:38 【问题描述】:我正在使用 Yahoo 的 URL 请求功能来下载股票数据。我找到了一个每 5 秒下载一次数据的 Java 应用程序。 在使用我在应用程序中使用的基本代码时,我无法弄清楚如何将股票数据下载到计算机中的某个文件夹。还有其他关于如何保存雅虎 URL 请求的帖子数据到某个位置,但它不使用我正在使用的相同代码格式。所有解释我应该如何做到这一点的想法、源代码和链接都会非常有帮助。感谢您的帮助!
我的代码:
import java.awt.Desktop;
import java.net.URL;
public class Downloader
public static void main(String[] args) throws InterruptedException
for (int i = 0; i < 10; i++)
Thread.sleep(5000);
try
Desktop.getDesktop()
.browse(new URL(
"http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=nab")
.toURI());
catch (Exception e)
e.printStackTrace();
【问题讨论】:
【参考方案1】:您可以使用 Java 的 IO 功能,您是否正在尝试编写 GUI,如果没有任何特定原因使用 AWT 的 Desktop 类?
试试这个示例代码:
URL yahooFinance = new URL("http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=nab");
ReadableByteChannel channel = Channels.newChannel(yahooFinance.openStream());
FileOutputStream fos = new FileOutputStream("quotes.csv");
fos.getChannel().transferFrom(channel, 0, Long.MAX_VALUE);
【讨论】:
【参考方案2】:你也可以使用 org.apache.commons.io.FileUtils
java.net.URL yahooFinance = new java.net.URL("http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=nab");
File f = new File("quotes.csv");
FileUtils.copyURLToFile(yahooFinance, f);
【讨论】:
以上是关于如何将文件保存到在 REST URL 请求中下载的某个文件夹? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Flutter 中的 URL 下载文件并将其保存在 iOS 共享文件夹中?