Java使用URL下载资源

Posted wwwgo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java使用URL下载资源相关的知识,希望对你有一定的参考价值。

示例代码:

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetURLResource 
    public static void main(String[] args) throws Exception 
        // 1. 下载地址
        URL url = new URL("https://imgessl.kugou.com/stdmusic/20160907/20160907190359515842.jpg");

        // 2. 使用http协议链接地址
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

        // 3. 获取输入流
        InputStream inputStream = urlConnection.getInputStream();

        // 4. 创建输出流及buffer
        FileOutputStream fileOutputStream = new FileOutputStream("test.jpg");
        byte[] buffer = new byte[1024];
        int len;
        while ((len = inputStream.read(buffer)) != -1) 
            fileOutputStream.write(buffer, 0, len);
        

        // 5. 关闭流
        fileOutputStream.close();
        inputStream.close();
        urlConnection.disconnect();
    

结果:

使用 Alamofire 从 url 下载后确定文件类型

【中文标题】使用 Alamofire 从 url 下载后确定文件类型【英文标题】:Determine filetype after downloading from url with Alamofire 【发布时间】:2018-03-21 23:02:33 【问题描述】:

我抓取了一个网站并找到了一个指向我要下载的文件的链接。我从链接中获得的信息是资源的标题和 URL(来自给定的<a href> HTML 元素)。我使用 Alamofire 来下载这样的资源:

let fileUrl = FileManager.default.temporaryDirectory.appendingPathComponent("quicklook.txt")
let destination: DownloadRequest.DownloadFileDestination =  _,_ in return (fileUrl, [.removePreviousFile, .createIntermediateDirectories]) 

let request = Alamofire.download(resourceUrl, to: destination).responseData  (response) in
    switch response.result 
    case .failure(let error):
        break
    case .success(let result):
        break
    

我的问题是链接到的文件可能是许多不同的文件类型,例如.docx.txt.img.pdf 等。

是否可以在事先不知道 pathExtension 的情况下确定正在下载的文件?

从链接下载资源时,Safari 如何知道它正在下载什么类型的内容?

【问题讨论】:

【参考方案1】:

响应头包含一个Content-Type 属性,用于传递数据的类型。

您应该能够从 alamofire 获取响应标头并检查内容类型。

编辑:看起来这里接受的答案是你可能想要的How to retrieve Alamofire response header for a request

【讨论】:

以上是关于Java使用URL下载资源的主要内容,如果未能解决你的问题,请参考以下文章

Java实现下载url视频资源

golang 使用go从URL下载资源。

怎么用java判断一个url是否PDF类型的文件

如何下载网络图片资源

java web----URL

电脑安装Java,提示找不到URL,怎么解决?