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;
///
///
WriteFile 的摘要说明
///
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
[]{
"
"
};
string
[] strEndHtml
=
new
string
[]{
"
"
};
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
>