package Readwebpagesource;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
/**
* 读取网页文件,并写入到文本中去
* @author 李.文
* @version 1.8
* @date 2019年8月4日 下午3:57:00
* @content JAVA代码
* @motto 代码千万条,可读第一条。代码不规范,error多两行。
*/
public class HTMLReadDemo {
public static final String webPath="http://www.163.com/index.html";//文件的地址
public static final String filePath="c://test/网页.html";//网页的网址
public static void main(String[] args) {
URL url=null;
try {
url = new URL(webPath);
} catch (MalformedURLException e) {
e.printStackTrace();
}
InputStreamReader inReader = null;//reader的装饰器类
try {
inReader = new InputStreamReader(url.openStream());
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader bReader=new BufferedReader(inReader);//reader的装饰器类
//对网页的内容进行读取
StringBuffer content=new StringBuffer();
String line=null;
try {
while((line=bReader.readLine())!=null)
{
content.append(line);
//追加字符在写入一个分隔符达到换行的目的
content.append(System.getProperty("line.separator"));
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
//将网页内容写入HTML文件中
File file=new File(filePath);
Writer writer=null;
BufferedWriter bWriter=null;
try {
writer=new FileWriter(file);
bWriter=new BufferedWriter(writer);
//对内容进行写入
bWriter.write(content.toString());
} catch (IOException e) {
e.printStackTrace();
}
finally{
try {
bWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("网页内容写入"+file.getName()+"成功!");
}
}