输入一个网址,获取网页内容,并保存到一个html文件中。
package zuoye11_4_1;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class weburl {
public static void main(String[] args) throws IOException {
// 图片网络资源的URL字符串
String url0 = "http://jwc.gcu.edu.cn/";
// 将脚本下载到的本地硬盘的位置
String savePath = "d:/HTML/";
String fileName = "华南理工大学广州学院.html";// 下载后的文件名称
URL url1 = new URL(url0);// 创建URL对象
URLConnection conn = url1.openConnection();// 获取URLConnection对象
// 获取网络输入流
InputStream inputStream = conn.getInputStream();
// 从网络输入流中读取字节数组,即从网络中下载的文件内容
byte[] buffer = new byte[1024];
int len = 0;
// 字节数组输出流,用来存储追加从网络输入流中读取的字节
ByteArrayOutputStream bos = new ByteArrayOutputStream();
// 从输入流读取字节到buffer数组
while ((len = inputStream.read(buffer)) != -1) {
// 把buffer数组中的字节输出到字节数组输出流中,即追加进去
bos.write(buffer, 0, len);
}
// 获取字节数组输出流中的字节数组,该字节数组要准备存储在硬盘上
byte[] getData = bos.toByteArray();
bos.close();
// 创建文件保存位置,即文件夹对象
File saveDir = new File(savePath);
if (!saveDir.exists()) {// 如果文件夹不存在
saveDir.mkdir();// 创建文件夹
}
File file = new File(saveDir, fileName);// 通过文件夹和文件名创建文件对象
// 创建文件输出流,用于写文件
FileOutputStream fos = new FileOutputStream(file);
fos.write(getData);// 把前面从网络中下载的字节数组写入文件
if (fos != null) {
fos.close();
}
if (inputStream != null) {
inputStream.close();
}
System.out.println("提示信息:" + url1 + " 成功获取网页内容!");
}
}