700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 文件的读取与写入--ASP.NET中常用代码之四(转载)

文件的读取与写入--ASP.NET中常用代码之四(转载)

时间:2021-02-26 21:58:10

相关推荐

文件的读取与写入--ASP.NET中常用代码之四(转载)

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}

转自/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。