如何将文件保存到在 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 请求中下载的某个文件夹? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为需要为每个请求保存数据的 REST API 的端点建模

如何保存或下载我在请求中获得的图像——Python

如何从 Flutter 中的 URL 下载文件并将其保存在 iOS 共享文件夹中?

如何将 azure 广告集成到在 azure 中也使用 REST API 的 React Web 应用程序

如何使用 Java REST 服务和数据流下载文件

实验:用Unity抓取指定url网页中的所有图片并下载保存