1读取文本文件
1/**////<summary>
2///读取文本文件
3///</summary>
4privatevoidReadFromTxtFile()
5{
6if(filePath.PostedFile.FileName!="")
7{
8txtFilePath=filePath.PostedFile.FileName;
9fileExtName=txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);
10
11if(fileExtName!="txt"&&fileExtName!="TXT")
12{
13Response.Write("请选择文本文件");
14}
15else
16{
17StreamReaderfileStream=newStreamReader(txtFilePath,Encoding.Default);
18txtContent.Text=fileStream.ReadToEnd();
19fileStream.Close();
20}
21}
22}
2获取文件列表
1/**////<summary>
2///获取文件列表
3///</summary>
4privatevoidGetFileList()
5{
6stringstrCurDir,FileName,FileExt;
7
8/**////文件大小
9longFileSize;
10
11/**////最后修改时间;
12DateTimeFileModify;
13
14/**////初始化
15if(!IsPostBack)
16{
17/**////初始化时,默认为当前页面所在的目录
18strCurDir=Server.MapPath(".");
19lblCurDir.Text=strCurDir;
20txtCurDir.Text=strCurDir;
21}
22else
23{
24strCurDir=txtCurDir.Text;
25txtCurDir.Text=strCurDir;
26lblCurDir.Text=strCurDir;
27}
28FileInfofi;
29DirectoryInfodir;
30TableCelltd;
31TableRowtr;
32tr=newTableRow();
33
34/**////动态添加单元格内容
35td=newTableCell();
36td.Controls.Add(newLiteralControl("文件名"));
37tr.Cells.Add(td);
38td=newTableCell();
39td.Controls.Add(newLiteralControl("文件类型"));
40tr.Cells.Add(td);
41td=newTableCell();
42td.Controls.Add(newLiteralControl("文件大小"));
43tr.Cells.Add(td);
44td=newTableCell();
45td.Controls.Add(newLiteralControl("最后修改时间"));
46tr.Cells.Add(td);
47
48tableDirInfo.Rows.Add(tr);
49
50/**////针对当前目录建立目录引用对象
51DirectoryInfodirInfo=newDirectoryInfo(txtCurDir.Text);
52
53/**////循环判断当前目录下的文件和目录
54foreach(FileSystemInfofsiindirInfo.GetFileSystemInfos())
55{
56FileName="";
57FileExt="";
58FileSize=0;
59
60/**////如果是文件
61if(fsiisFileInfo)
62{
63fi=(FileInfo)fsi;
64
65/**////取得文件名
66FileName=fi.Name;
67
68/**////取得文件的扩展名
69FileExt=fi.Extension;
70
71/**////取得文件的大小
72FileSize=fi.Length;
73
74/**////取得文件的最后修改时间
75FileModify=fi.LastWriteTime;
76}
77
78/**////否则是目录
79else
80{
81dir=(DirectoryInfo)fsi;
82
83/**////取得目录名
84FileName=dir.Name;
85
86/**////取得目录的最后修改时间
87FileModify=dir.LastWriteTime;
88
89/**////设置文件的扩展名为"文件夹"
90FileExt="文件夹";
91}
92
93/**////动态添加表格内容
94tr=newTableRow();
95td=newTableCell();
96td.Controls.Add(newLiteralControl(FileName));
97tr.Cells.Add(td);
98td=newTableCell();
99td.Controls.Add(newLiteralControl(FileExt));
100tr.Cells.Add(td);
101td=newTableCell();
102td.Controls.Add(newLiteralControl(FileSize.ToString()+"字节"));
103tr.Cells.Add(td);
104td=newTableCell();
105td.Controls.Add(newLiteralControl(FileModify.ToString("yyyy-mm-ddhh:mm:ss")));
106tr.Cells.Add(td);
107tableDirInfo.Rows.Add(tr);
108}
109}
3读取日志文件
1/**////<summary>
2///读取日志文件
3///</summary>
4privatevoidReadLogFile()
5{
6/**////从指定的目录以打开或者创建的形式读取日志文件
7FileStreamfs=newFileStream(Server.MapPath("upedFile")+"\\logfile.txt",FileMode.OpenOrCreate,FileAccess.Read);
8
9/**////定义输出字符串
10StringBuilderoutput=newStringBuilder();
11
12/**////初始化该字符串的长度为0
13output.Length=0;
14
15/**////为上面创建的文件流创建读取数据流
16StreamReaderread=newStreamReader(fs);
17
18/**////设置当前流的起始位置为文件流的起始点
19read.BaseStream.Seek(0,SeekOrigin.Begin);
20
21/**////读取文件
22while(read.Peek()>-1)
23{
24/**////取文件的一行内容并换行
25output.Append(read.ReadLine()+"\n");
26}
27
28/**////关闭释放读数据流
29read.Close();
30
31/**////返回读到的日志文件内容
32returnoutput.ToString();
33}
4写入日志文件
1/**////<summary>
2///写入日志文件
3///</summary>
4///<paramname="input"></param>
5privatevoidWriteLogFile(stringinput)
6{
7/**////指定日志文件的目录
8stringfname=Server.MapPath("upedFile")+"\\logfile.txt";
9/**////定义文件信息对象
10FileInfofinfo=newFileInfo(fname);
11
12/**////判断文件是否存在以及是否大于2K
13if(finfo.Exists&&finfo.Length>2048)
14{
15/**////删除该文件
16finfo.Delete();
17}
18/**////创建只写文件流
19using(FileStreamfs=finfo.OpenWrite())
20{
21/**////根据上面创建的文件流创建写数据流
22StreamWriterw=newStreamWriter(fs);
23
24/**////设置写数据流的起始位置为文件流的末尾
25w.BaseStream.Seek(0,SeekOrigin.End);
26
27/**////写入“LogEntry:”
28w.Write("\nLogEntry:");
29
30/**////写入当前系统时间并换行
31w.Write("{0}{1}\r\n",DateTime.Now.ToLongTimeString(),
32DateTime.Now.ToLongDateString());
33
34/**////写入日志内容并换行
35w.Write(input+"\n");
36
37/**////写入------------------------------------“并换行
38w.Write("------------------------------------\n");
39
40/**////清空缓冲区内容,并把缓冲区内容写入基础流
41w.Flush();
42
43/**////关闭写数据流
44w.Close();
45}
46}
5创建html文件
1/**////<summary>
2///创建HTML文件
3///</summary>
4privatevoidCreateHtmlFile()
5{
6/**////定义和html标记数目一致的数组
7string[]newContent=newstring[5];
8StringBuilderstrhtml=newStringBuilder();
9try
10{
11/**////创建StreamReader对象
12using(StreamReadersr=newStreamReader(Server.MapPath("createHTML")+"\\template.html"))
13{
14Stringoneline;
15
16/**////读取指定的HTML文件模板
17while((oneline=sr.ReadLine())!=null)
18{
19strhtml.Append(oneline);
20}
21sr.Close();
22}
23}
24catch(Exceptionerr)
25{
26/**////输出异常信息
27Response.Write(err.ToString());
28}
29/**////为标记数组赋值
30newContent[0]=txtTitle.Text;//标题
31newContent[1]="BackColor='#cccfff'";//背景色
32newContent[2]="#ff0000";//字体颜色
33newContent[3]="100px";//字体大小
34newContent[4]=txtContent.Text;//主要内容
35
36/**////根据上面新的内容生成html文件
37try
38{
39/**////指定要生成的HTML文件
40stringfname=Server.MapPath("createHTML")+"\\"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";
41
42/**////替换html模版文件里的标记为新的内容
43for(inti=0;i<5;i++)
44{
45strhtml.Replace("$htmlkey["+i+"]",newContent[i]);
46}
47/**////创建文件信息对象
48FileInfofinfo=newFileInfo(fname);
49
50/**////以打开或者写入的形式创建文件流
51using(FileStreamfs=finfo.OpenWrite())
52{
53/**////根据上面创建的文件流创建写数据流
54StreamWritersw=newStreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
55
56/**////把新的内容写到创建的HTML页面中
57sw.WriteLine(strhtml);
58sw.Flush();
59sw.Close();
60}
61
62/**////设置超级链接的属性
63hyCreateFile.Text=DateTime.Now.ToString("yyyymmddhhmmss")+".html";
64hyCreateFile.NavigateUrl="createHTML/"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";
65}
66catch(Exceptionerr)
67{
68Response.Write(err.ToString());
69}
70}
转自/