参考了开源软件code。在自己机器上测试通过。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
public class CopyHtm {
public static void main(String[] args) throws Exception {
String sourceUrlString = "sample/some.html";
String currentDir=System.getProperty("user.dir").replace('\\', '/');
download("file:///" +currentDir+"/"+sourceUrlString, "tmp");
}
final static int TRANSFER_SIZE = 4096;
public static void download(String link, String dest) {
File file;
URL source;
byte[] data;
InputStream in;
FileOutputStream out;
int read;
String fname = dest+"/"+genFileName(link);
File ddest = new File(dest);
if (!ddest.exists()) {
ddest.mkdirs();
}
file = new File(fname);
if(file.exists()){
return;
}
try {
source = new URL(link);
data = new byte[TRANSFER_SIZE];
try {
in = source.openStream();
try {
out = new FileOutputStream(file);
try {
while (-1 != (read = in.read(data, 0, data.length))) {
out.write(data, 0, read);
}
}catch(Exception e){
System.err.println("broken link=" + link);
}finally {
out.close();
}
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
} finally {
in.close();
}
} catch (FileNotFoundException fnfe) {
System.err.println("broken link " + fnfe.getMessage() + " ignored");
}
} catch (MalformedURLException murle) {
murle.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
public static String genFileNameExt(String url, String ext) {
return genFileNameNoExt(url) + "." + ext;
}
public static String genFileNameNoExt(String url) {
int ilast = url.lastIndexOf("/");
String fname = url.substring(ilast);
int didx = fname.lastIndexOf('.');
if (didx > 0) {
fname = fname.substring(0, didx);//+"."+ext;
}
return fname;
}
public static String genFileName(String url) {
return genFileNameExt(url, "html");
}
}
九霄云外
- 大小: 32.4 KB
分享到:
相关推荐
通过以上知识点的结合应用,我们可以编写一个Java程序,根据`info.txt`中的URL列表下载网页,并按照`name.txt`指定的名称保存到本地。在实际项目中,还可能需要添加错误处理、进度显示、断点续传等功能,以提升用户...
根据给定的文件信息,我们可以总结出以下与“用Java代码下载网页图片”相关的知识点: ### 1. Java网络编程基础 #### 1.1 URL类的理解与使用 在Java中,`java.net.URL` 类提供了对统一资源定位符 (Uniform ...
在IT行业中,网页下载是一个常见的需求,特别是在自动化测试、数据抓取或备份网站内容时。本项目提供的"现实网页下载java源代码"旨在帮助开发者实现这一功能。Java作为一种多用途的编程语言,提供了多种方法来下载...
本文将详细介绍如何使用Java语言来实现一个简单的工具方法,用于快速判断一个网页链接是否有效。 #### 一、方法原理 本方法通过`java.net.URL`类创建一个URL对象,并使用`java.net.HttpURLConnection`类打开与该...
【Java编写的网页浏览器】是一种基于Java编程语言开发的简单网页浏览应用,主要面向初学者和进行课程设计的学生。这个项目旨在提供一个基础的平台,让学习者了解浏览器的基本工作原理,以及如何利用Java实现这样的...
### Java下载图片代码+教程 #### 一、背景与需求 在互联网开发中,经常会遇到需要从网络上下载图片的需求。比如,在爬虫项目中抓取网页中的图片资源,或者在构建图片分享应用时需要从远程服务器下载图片显示在...
下面是一个使用`HttpURLConnection`下载网页的例子: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class ...
1. **抓取网页内容**:首先,你需要使用`java.net.URL`和`java.net.URLConnection`类来打开并读取网页内容。这些类允许你创建到网页的连接,并获取HTTP响应。 2. **解析HTML**:得到网页内容后,可以使用HTML解析库...
以上是构建一个简易Java网页浏览器涉及的主要技术点,每个点都需要深入理解和实践。实际开发中,还可以考虑添加更多高级功能,如页面预加载、多标签页、下载管理等,以增强浏览器的功能和用户体验。
1. **资源下载与MIME类型识别**:对于每个资源链接,使用`URLConnection`获取资源,同时使用`MimetypesFileTypeMap`确定资源的MIME类型。 2. **MIME多部分消息构建**:创建`MimeMultipart`实例,并为每个资源创建`...
在本项目中,"纯Java实现整个网页截图项目源代码" 是一个利用Java编程语言来实现的实用程序,它能够捕获整个网页的图像并将其保存为图片文件。这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
1. **构造Robot类**:定义一个Robot类来封装整个下载逻辑,包括管理待处理的URL列表、已处理的URL列表以及已下载的图片URL列表。此外,Robot类还需要包含开始搜索的入口URL和本地保存路径。 - **urlWaiting**:存储...
在Java中下载网页或文件是一项基础但重要的任务,掌握这一技能有助于进行更复杂的网络编程项目,如爬虫、文件同步等。以上步骤提供了实现这一功能的基本框架,实际开发时还需根据具体需求进行相应的优化和错误处理。
在Java中,可以使用`java.net.HttpURLConnection`类来实现这一功能。`HttpRequest`类中的`getData`方法就是一个简单的HTTP GET请求示例,它创建了一个`URL`对象,然后通过`openConnection()`方法打开与该URL的连接,...
1. **前端**:在JSP文件中,使用JavaScript创建一个Ajax请求,设置请求方法(GET或POST)、URL(指向FileAction)、数据(如文件扩展名)以及成功和失败回调函数。 2. **后端**:FileAction接收到请求后,解析请求...
在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在网络应用开发中。HTTPS(HyperText Transfer Protocol Secure)是一种安全通信协议,用于确保数据在客户端和服务器之间的传输过程是加密的,保护了...
HTML(HyperText Markup Language)是一种标记语言,用于描述网页的结构和内容,而Java则是一种广泛使用的编程语言,尤其在服务器端和网页应用程序中扮演着核心角色。 Java网页通常指的是使用Java Servlet、JSP...
Java网页特效大全是一个集合了众多视觉效果的资源库,它主要展示了如何利用Java技术来增强网页的交互性和视觉吸引力。这个资源可能包含了JavaScript库、Java Applets或者使用JavaFX等技术实现的网页组件。Java在网页...
这个RAR文件包含的"说明.txt"可能是详细的操作指南,而"根据URL获取因特网网页源文件"可能是一个Java源代码示例,用于演示如何实现这一功能。以下是对这个主题的详细讲解: 1. **网络编程基础**: 在Java中,进行...