关闭

动态页面静态化的处理类

849人阅读 评论(2) 收藏 举报

import java.io.*;
import java.net.URL;
/**
 *
 * <p>Title:动态页面静态化 </p>
 * <p>Description: longing.chen@hotmail.com </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/");
  }
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:26136次
    • 积分:381
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:18篇
    • 译文:0篇
    • 评论:3条
    最新评论