除了在网站右键另存为保存网站源码外,作为一门无所不能的语言,java当然也能直接获取网页源码,然后另存为本地。
这里使用的就是输入输出流。
直接将方法进行了封装
代码如下:
传的三个参数分别为:网站的URL,网站的编码类型(UTF-8或者gbk或者gb2312等等) 以及文件的另存路径
public static boolean getHtmlByUrl(String u,String charset,String htmlPath) throws IOException{
boolean result = true;
try {
//通过url生成静态页面
URL url = new URL(u);
URLConnection connection = url.openConnection();
//javase ---->io net inputStream
//获取输入流
InputStream in = connection.getInputStream();
//Buffered缓存Reader Writer
BufferedReader reader = new BufferedReader(new InputStreamReader(in,charset));
StringBuffer sBuffer = new StringBuffer();
while(reader.ready()){
sBuffer.append(reader.readLine()+"\n");
//System.out.println(reader.readLine());
}
//关闭流
reader.close();
in.close();
File file = new File(htmlPath);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"gbk"));
writer.write(sBuffer.toString());
writer.close();
result = true;
} catch (MalformedURLException e) {
e.printStackTrace();
}
return result;
}
例如:
我要将www.baidu.com这个网站的源码保存到我的本地磁盘D盘根目录调用方法如下
getHtmlByUrl(“www.baidu.com”,”gbk”,”D:baidu.html”);
运行后便可在D盘根目录下生成一个baidu.html的文件