動態頁面靜態化的處理類

import java.io.*;
import java.net.URL;
/**
 *
 * <p>Title:動態頁面靜態化 </p>
 * <p>Description: [email protected] </p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: </p>
 * @author  bobo
 * @version 1.0
 */
public class StaticHTMLFile {
  /**
   *
   * @param page     存放靜態頁面的本地文件路徑
   * @param url_addr 所要生成的靜態頁的URL地址
   * @return
   */
  public static boolean PrintPage(String page, String url_addr) {
    URL url;
    String rLine = null;
    PrintWriter fileOut = null;
    InputStream ins = null;
    try {
      url = new URL(url_addr);
      ins = url.openStream();
      BufferedReader bReader = new BufferedReader(new InputStreamReader(ins,
          "gb2312"));//獲取編碼爲gb2312的文件
      FileOutputStream out = new FileOutputStream(page);
      OutputStreamWriter writer = new OutputStreamWriter(out, "gb2312");
      fileOut = new PrintWriter(writer);
      //循環取取數據,並寫入目標文件中
      while ( (rLine = bReader.readLine()) != null) {
        String tmp_rLine = rLine;
        int str_len = tmp_rLine.length();
        if (str_len > 0) {
          fileOut.println(tmp_rLine);
          fileOut.flush();
        }
        tmp_rLine = null;
      }
      url = null;
      return true;
    }
    catch (IOException e) {
      System.out.println("error: " + e.getMessage());
      e.printStackTrace();
      return false;
    }
    catch (Exception es) {
      System.out.println(es.getMessage());
      return false;
    }
    finally {//關閉資源
      fileOut.close();
      try {
        ins.close();
      }
      catch (IOException ex) {
        //關閉輸入流出錯
      }
    }

  }

  public static void main(String[] args) {
    PrintPage("c:/sina.html", "http://www.sina.com/");
  }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章