import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
/**
* 使用URLConnection下载文件或图片并保存到本地。
*/
public class URLConnectionDownloader {
public static void main(String[] args) throws Exception {
String url = "http://mt1.google.cn/vt/v=w2.114&hl=zh-CN&gl=cn&x=1&y=1&z=1";
// String url = "http://www.google.cn/intl/zh-CN/images/logo_cn.gif";
String fileDir = "d:\\a\\";
String fileName = "abc.jpg";
makeDir(fileDir);
download(url, fileDir+fileName);
System.out.println("下载图片完毕!");
}
/**
* 下载文件到本地
*
* @param urlString
* 被下载的文件地址
* @param filename
* 本地文件名
* @throws Exception
* 各种异常
*/
public static void download(String urlString, String filename)
throws Exception {
// 构造URL
URL url = new URL(urlString);
// 打开连接
URLConnection con = url.openConnection();
// 设置Java服务器代理连接,要不然报错403
// 浏览器可以访问此url图片并显示,但用Java程序就不行报错Server returned HTTP response code:403 for URL
// 具体原因:服务器的安全设置不接受Java程序作为客户端访问(被屏蔽),解决办法是设置客户端的User Agent
con.setRequestProperty("User-Agent", "Mozilla/4.0(compatible;MSIE 5.0;Windows NT;DigExt)");
// 输入流
InputStream is = con.getInputStream();
// 1K的数据缓冲
byte[] bs = new byte[1024];
// 读取到的数据长度
int len;
// 输出的文件流
OutputStream os = new FileOutputStream(filename);
// 开始读取
while ((len = is.read(bs)) != -1) {
os.write(bs, 0, len);
}
// 完毕,关闭所有链接
os.close();
is.close();
}
private static void makeDir(String fileFolder) {
File file = new File(fileFolder);
if (!file.exists() && !file.isDirectory())
file.mkdir();
}
}
分享到:
相关推荐
* 使用URLConnection下载文件或图片并保存到本地。 * * @author 老紫竹(laozizhu.com) */ public class URLConnectionDownloader { public static void main(String[] args) throws Exception { ...
- `connectionDidFinishLoading:`:当下载完成时,这个方法会被调用,此时可以合并所有接收到的数据并保存为文件。 ```objc #pragma mark - NSURLConnectionDataDelegate methods - (void)connection:...
2. **文件I/O操作**:下载的数据需要保存到本地文件系统。Java的`java.io.File`类用于文件操作,如创建、读写和删除。`FileOutputStream`和`BufferedOutputStream`用于将网络获取的数据写入文件。如果下载的文件分布...
在这个场景中,我们将使用`URLConnection`来下载音频文件,并将其保存到本地文件系统。 首先,创建一个名为 `DownloadStreamThread` 的子类,继承自 `Thread`。这个类的主要任务是在其 `run()` 方法中执行下载操作...
网络文件下载涉及从网络资源读取文件并保存到本地。以下是一个简单的网络文件下载示例: ```java public void downloadNet(HttpServletResponse response) throws MalformedURLException { int bytesum = 0; int ...
本文档主要介绍如何使用Java编程语言实现从网络上下载文件并将其保存至本地指定路径的功能,且在执行过程中不会弹出任何用户界面窗口。这种方法非常适合后台服务或自动化脚本场景。 #### 核心知识点详解 1. **URL...
因此,对于HTML中的每个外部资源(如图片、CSS或JavaScript),你需要下载并将其内容保存到本地,同时更新HTML中的链接指向这些本地资源。 4. **生成MHT文件**:最后,你需要构造MHT文件的头部信息,包括MIME类型...
获取到输入流后,将其转换为字符串,最后将字符串保存到本地文件。 接下来是使用`HttpClient`的实现,它是Apache HTTP组件的一部分,提供了更高级别的HTTP客户端功能。以下是一个基本的使用示例: ```java import ...
- 获取上传文件,并将其保存到服务器的某个位置。 ```java import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload....
在下载文件时,我们通常使用 `InputStream` 从服务器读取数据,然后通过 `OutputStream` 将数据写入本地文件。`BufferedInputStream` 和 `BufferedOutputStream` 可以提高读写效率,减少系统调用次数。同时,`...
本教程主要介绍如何在Android应用中实现网络文件的下载并保存到SD卡。 1. **Android权限设置** 在AndroidManifest.xml文件中,你需要添加写入外部存储的权限: ```xml ``` 如果你的应用目标API等级高于23,还...
- **功能**:此方法接收三个参数,分别为图片的URL、保存到本地的文件名以及保存路径,主要功能是从网络下载图片并保存到指定路径。 - **关键点**: - 使用`getImageFromNetByUrl`方法获取图片数据。 - 检查返回的...
本文将深入探讨如何在Android中实现异步下载并将文件保存到本地SD卡。 首先,了解Android的异步处理模型是至关重要的。Android推荐使用AsyncTask作为轻量级的异步处理解决方案,尤其适用于执行短时任务,如网络请求...
创建`File`对象后,可以使用它来初始化`FileOutputStream`,从而将网络下载的数据保存到本地文件。 5. **HTTP协议**: 大多数情况下,文件下载涉及到HTTP或HTTPS协议。Java的`java.net.HttpURLConnection`类提供了...
本主题关注的是如何使用Applet来实现一个自动化文件下载功能,即从服务器上下载文件到客户端,而且这个过程无需用户手动操作弹出的保存对话框。 首先,我们需要了解Applet的基本概念。Applet是Java语言编写的一种...
要实现批量下载,通常会使用到HTTP客户端库,如Apache HttpClient或Java的URL和URLConnection类。用户需要提供一个包含所有下载链接的文件(例如,一个文本文件,每行一个URL),然后运行工具,指定这个文件和目标...
在给定的压缩包`downLoadImage`中,可能包含了一个示例程序,演示了上述过程,包括如何从网络下载二进制图片数据并保存到本地。通过分析和学习这个示例,开发者可以更好地理解和掌握Java中处理二进制图片的方法。 ...
从提供的代码片段来看,这是一个简单的文件下载方法,它从指定的URL下载文件并将其保存到本地存储,如SD卡。下面我们将深入探讨这个过程。 首先,我们需要理解下载文件的基本步骤: 1. **创建URL对象**:`URL Url ...
这个场景涉及到从互联网获取图片资源,并将其保存到用户的本地系统。标题"java下载图片"和描述中提到的方法,是通过网络地址抓取图片,然后在服务器上临时存储,最后通过网页中的超链接(a标签)供客户端下载。 ...
这个方法的目的是从指定的URL下载文件并保存到本地磁盘。 1. **创建URL对象**:通过`new URL(imgUrl)`,我们创建了一个URL对象,它代表了文件在网络上的位置。如果URL无效或无法解析,这段代码会抛出`...