1
/// <summary>2
/// 读取文本文件3
/// </summary>4
private void ReadFromTxtFile()5
{6
if(filePath.PostedFile.FileName != "")7
{8
txtFilePath =filePath.PostedFile.FileName;9
fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);10

11
if(fileExtName !="txt" && fileExtName != "TXT")12
{13
Response.Write("请选择文本文件");14
}15
else16
{17
StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);18
txtContent.Text = fileStream.ReadToEnd();19
fileStream.Close();20
}21
}22
}2获取文件列表
1
/// <summary>2
/// 获取文件列表3
/// </summary>4
private void GetFileList()5
{6
string strCurDir,FileName,FileExt;7
8
///文件大小9
long FileSize;10
11
///最后修改时间;12
DateTime FileModify;13

14
///初始化15
if(!IsPostBack)16
{17
///初始化时,默认为当前页面所在的目录18
strCurDir = Server.MapPath(".");19
lblCurDir.Text = strCurDir;20
txtCurDir.Text = strCurDir;21
}22
else23
{24
strCurDir = txtCurDir.Text;25
txtCurDir.Text = strCurDir;26
lblCurDir.Text = strCurDir;27
}28
FileInfo fi;29
DirectoryInfo dir;30
TableCell td;31
TableRow tr;32
tr = new TableRow();33
34
///动态添加单元格内容35
td = new TableCell();36
td.Controls.Add(new LiteralControl("文件名"));37
tr.Cells.Add(td);38
td = new TableCell();39
td.Controls.Add(new LiteralControl("文件类型"));40
tr.Cells.Add(td);41
td = new TableCell();42
td.Controls.Add(new LiteralControl("文件大小"));43
tr.Cells.Add(td);44
td = new TableCell();45
td.Controls.Add(new LiteralControl("最后修改时间"));46
tr.Cells.Add(td);47

48
tableDirInfo.Rows.Add(tr);49
50
///针对当前目录建立目录引用对象51
DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);52
53
///循环判断当前目录下的文件和目录54
foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())55
{56
FileName = "";57
FileExt = "";58
FileSize = 0;59
60
///如果是文件61
if(fsi is FileInfo)62
{63
fi = (FileInfo)fsi;64
65
///取得文件名66
FileName = fi.Name;67
68
///取得文件的扩展名69
FileExt = fi.Extension;70
71
///取得文件的大小72
FileSize = fi.Length;73
74
///取得文件的最后修改时间75
FileModify = fi.LastWriteTime;76
}77

78
///否则是目录79
else80
{81
dir = (DirectoryInfo)fsi;82
83
///取得目录名84
FileName = dir.Name;85
86
///取得目录的最后修改时间87
FileModify = dir.LastWriteTime;88
89
///设置文件的扩展名为"文件夹"90
FileExt = "文件夹";91
}92
93
///动态添加表格内容94
tr = new TableRow();95
td = new TableCell();96
td.Controls.Add(new LiteralControl(FileName));97
tr.Cells.Add(td);98
td = new TableCell();99
td.Controls.Add(new LiteralControl(FileExt));100
tr.Cells.Add(td);101
td = new TableCell();102
td.Controls.Add(new LiteralControl(FileSize.ToString()+"字节"));103
tr.Cells.Add(td);104
td = new TableCell();105
td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss")));106
tr.Cells.Add(td);107
tableDirInfo.Rows.Add(tr);108
}109
}3读取日志文件
1
/// <summary>2
/// 读取日志文件3
/// </summary>4
private void ReadLogFile()5
{6
///从指定的目录以打开或者创建的形式读取日志文件7
FileStream fs = new FileStream(Server.MapPath("upedFile")+"\\logfile.txt", FileMode.OpenOrCreate, FileAccess.Read);8

9
///定义输出字符串10
StringBuilder output = new StringBuilder();11
12
///初始化该字符串的长度为013
output.Length = 0;14
15
///为上面创建的文件流创建读取数据流16
StreamReader read = new StreamReader(fs);17
18
///设置当前流的起始位置为文件流的起始点19
read.BaseStream.Seek(0, SeekOrigin.Begin);20
21
///读取文件22
while (read.Peek() > -1) 23
{24
///取文件的一行内容并换行25
output.Append(read.ReadLine() + "\n");26
}27
28
///关闭释放读数据流29
read.Close();30
31
///返回读到的日志文件内容32
return output.ToString();33
}4写入日志文件
1
/// <summary>2
/// 写入日志文件3
/// </summary>4
/// <param name="input"></param>5
private void WriteLogFile(string input)6
{ 7
///指定日志文件的目录8
string fname = Server.MapPath("upedFile") + "\\logfile.txt";9
///定义文件信息对象10
FileInfo finfo = new FileInfo(fname);11

12
///判断文件是否存在以及是否大于2K13
if ( finfo.Exists && finfo.Length > 2048 )14
{15
///删除该文件16
finfo.Delete();17
}18
///创建只写文件流19
using(FileStream fs = finfo.OpenWrite())20
{21
///根据上面创建的文件流创建写数据流22
StreamWriter w = new StreamWriter(fs);23
24
///设置写数据流的起始位置为文件流的末尾25
w.BaseStream.Seek(0, SeekOrigin.End);26
27
///写入“Log Entry : ”28
w.Write("\nLog Entry : ");29
30
///写入当前系统时间并换行31
w.Write("{0} {1} \r\n", DateTime.Now.ToLongTimeString(),32
DateTime.Now.ToLongDateString());33
34
///写入日志内容并换行35
w.Write(input + "\n");36
37
///写入------------------------------------“并换行38
w.Write("------------------------------------\n");39
40
///清空缓冲区内容,并把缓冲区内容写入基础流41
w.Flush();42
43
///关闭写数据流44
w.Close();45
}46
}5创建html文件
1
/// <summary>2
/// 创建HTML文件3
/// </summary>4
private void CreateHtmlFile()5
{ 6
///定义和html标记数目一致的数组7
string[] newContent = new string[5];8
StringBuilder strhtml = new StringBuilder();9
try 10
{11
///创建StreamReader对象12
using (StreamReader sr = new StreamReader(Server.MapPath("createHTML") + "\\template.html")) 13
{14
String oneline;15
16
///读取指定的HTML文件模板17
while ((oneline = sr.ReadLine()) != null) 18
{19
strhtml.Append(oneline);20
}21
sr.Close();22
}23
}24
catch(Exception err)25
{26
///输出异常信息27
Response.Write(err.ToString());28
}29
///为标记数组赋值30
newContent[0] = txtTitle.Text;//标题31
newContent[1] = "BackColor='#cccfff'";//背景色32
newContent[2] = "#ff0000";//字体颜色33
newContent[3] = "100px";//字体大小34
newContent[4] = txtContent.Text;//主要内容35

36
///根据上面新的内容生成html文件37
try38
{39
///指定要生成的HTML文件40
string fname = Server.MapPath("createHTML") +"\\" + DateTime.Now.ToString("yyyymmddhhmmss") + ".html";41
42
///替换html模版文件里的标记为新的内容43
for(int i=0;i < 5;i++)44
{45
strhtml.Replace("$htmlkey["+i+"]",newContent[i]);46
}47
///创建文件信息对象48
FileInfo finfo = new FileInfo(fname);49
50
///以打开或者写入的形式创建文件流51
using(FileStream fs = finfo.OpenWrite())52
{53
///根据上面创建的文件流创建写数据流54
StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));55
56
///把新的内容写到创建的HTML页面中57
sw.WriteLine(strhtml);58
sw.Flush();59
sw.Close();60
}61
62
///设置超级链接的属性63
hyCreateFile.Text = DateTime.Now.ToString("yyyymmddhhmmss")+".html";64
hyCreateFile.NavigateUrl = "createHTML/"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";65
}66
catch(Exception err)67
{ 68
Response.Write (err.ToString());69
}70
} 转自http://Teerylee.cnblogs.com/

