1.可以作为项目的动态页面生成静态页面的功能
2.可以当做JSP小偷
3.可以当做全文网摘
- package richin.reflect;
-
- import java.io.BufferedReader;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLConnection;
-
- public class PageStatic {
- public static void convert2Html(String sFilePath,String sSavePath,String sHtmlFile) throws IOException
- {
- PageStatic ru = new PageStatic();
- String baseHref="<base href='"+sFilePath+"'></base>";
- String filePath = ru.getClass().getResource("/richin/reflect/PageStatic.class").getPath().toString();
- filePath = filePath.substring(1, filePath.indexOf("WEB-INF"));
-
- int HttpResult;
- String SavePath = filePath + sSavePath;
- URL url=new URL(sFilePath);
- URLConnection urlconn=url.openConnection();
- urlconn.addRequestProperty("Accept-Language", "zh-cn");
- urlconn.connect();
- HttpURLConnection httpconn=(HttpURLConnection)urlconn;
-
- HttpResult=httpconn.getResponseCode();
-
- if(HttpResult!=HttpURLConnection.HTTP_OK) {
- } else {
- String charset=httpconn.getContentType();
-
- String charType=charset.substring(charset.lastIndexOf("=")+1);
-
- if("text/html".equals(charType))
- charType="GBK";
- InputStreamReader isr = new InputStreamReader(httpconn.getInputStream(),charType);
- BufferedReader in = new BufferedReader(isr);
- String inputLine;
- if(!SavePath.endsWith("/")) {
- SavePath+="/";
- }
- FileOutputStream fout = new FileOutputStream(SavePath+sHtmlFile);
- while ((inputLine = in.readLine()) != null)
- {
-
- if(inputLine.toLowerCase().equals("<head>"))
- inputLine=inputLine+System.getProperty("line.separator")+baseHref;
- inputLine=inputLine+System.getProperty("line.separator");
- fout.write(inputLine.getBytes());
- }
- in.close();
- fout.close();
- }
-
- }
-
-
-
-
- public static void main(String[] args) throws IOException {
-
- convert2Html("http://www.51cto.com/art/200807/79080.htm","/","a4.htm");
- }
-
- }
|