代码改变世界

自动生成静态网页(IO类)

2007-10-11 10:05  Jacky_Xu  阅读(444)  评论(0编辑  收藏  举报
C# code
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; using System.Text; /// <summary> /// WriteFile 的摘要说明 /// </summary> public class WriteFile { public WriteFile() { } public static bool createHtml(string[] strnewsHtml,string[] stroldHtml,string strModeFilePath,string strPath) { bool flag = false; StreamReader sr = null; StreamWriter sw = null; string filepath = HttpContext.Current.Server.MapPath(strModeFilePath); Encoding code = Encoding.GetEncoding("gb2312"); string s = string.Empty; try { sr = new StreamReader(filepath,code); s = sr.ReadToEnd(); } catch (Exception ex) { throw ex; } finally { sr.Close(); } try { for (int i = 0; i < strnewsHtml.Length; i++) { s = s.Replace(stroldHtml[i], strnewsHtml[i]); } sw = new StreamWriter(HttpContext.Current.Server.MapPath(strPath), false, code); sw.Write(s); flag = true; } catch (Exception ex) { flag = false; throw ex; } finally { sw.Flush(); sw.Close(); } return flag; } public static bool UpdateHtmlPage(string[] strNewsHtml, string[] strStartHtml, string[] strEndHtml, string strHtml) { bool Flage = false; StreamReader ReaderFile = null; StreamWriter WrirteFile = null; string FilePath = HttpContext.Current.Server.MapPath(strHtml); Encoding Code = Encoding.GetEncoding("gb2312"); string strFile = string.Empty; try { ReaderFile = new StreamReader(FilePath, Code); strFile = ReaderFile.ReadToEnd(); } catch (Exception ex) { throw ex; } finally { ReaderFile.Close(); } try { int intLengTh = strNewsHtml.Length; for (int i = 0; i < intLengTh; i++) { int intStart = strFile.IndexOf(strStartHtml[i]) + strStartHtml[i].Length; int intEnd = strFile.IndexOf(strEndHtml[i]); string strOldHtml = strFile.Substring(intStart, intEnd - intStart); strFile = strFile.Replace(strOldHtml, strNewsHtml[i]); } WrirteFile = new StreamWriter(FilePath, false, Code); WrirteFile.Write(strFile); Flage = true; } catch (Exception ex) { throw ex; } finally { WrirteFile.Flush(); WrirteFile.Close(); } return Flage; } } 调用公共类: ---------------------------------------------------------------------------- protected void Button2_Click(object sender, EventArgs e) { string NewsTitle = this.TextBox1.Text; string NewsKindName = this.DropDownList1.SelectedItem.Text; string NewsBody = this.WebEditor1.Text; DateTime PubTime = DateTime.Now; string UserName = Session["UserName"].ToString(); Response.Write(NewsKindName); string[] strNewsHtml = new string[] { NewsTitle, NewsKindName, NewsBody, PubTime.ToString(), UserName }; string[] strOldHtml = new string[] { "@Title", "@NewsKInd", "@NewsBody", "@PubTime", "@UserName" }; string strFileName = DateTime.Now.ToString("ddhhmmss") + ".html"; string strFilePath = string.Format("NewsHtml/{0}", strFileName); try { if (WriteFile.createHtml(strNewsHtml, strOldHtml, "mode.htm", strFilePath)) { this.Label1.Text = "生成成功!"; } else { this.Label1.Text = "生成失败!"; } } catch { this.Label1.Text = "生成失败!"; } } protected void Button3_Click(object sender, EventArgs e) { string[] strNewsHtml=new string[]{"鑫少爷到此一游!"}; string[] strStartHtml=new string[]{"<!-- start -->"}; string[] strEndHtml=new string[]{"<!--end-->"}; if (WriteFile.UpdateHtmlPage(strNewsHtml, strStartHtml, strEndHtml, "NewsHtml/02011139.html")) { this.Label1.Text="生成首页成功!"; } else { this.Label1.Text="生成首页失败!"; } } 新建文件夹NewsHtml,生成html文件放在里面 ----------------------------------------------------------- 增加一个模板文件 <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>无标题页</title> </head> <body> <table border="1" cellpadding="0" cellspacing="0" style="width: 522px; height: 338px"> <tr> <td align="center" colspan="2"> @Title</td> </tr> <tr> <td align="center" colspan="2"> 发布人:@UserName &nbsp; &nbsp; 发布时间:@PubTime &nbsp; &nbsp;&nbsp; 新闻类别:@NewsKInd</td> </tr> <tr> <td colspan="2"> @NewsBody</td></tr><tr> <td style="WIDTH: 100px"> </td><td style="WIDTH: 100px" > </td></tr></table></body></html> 该文章转载自网络大本营:http://www.xrss.cn/Dev/DotNet/200782716099.Html