一.读取文本文件
代码
/**//// <summary>/// 读取文本文件/// </summary>private void ReadFromTxtFile(){ if(filePath.PostedFile.FileName != "") { txtFilePath =filePath.PostedFile.FileName; fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);if(fileExtName !="txt" && fileExtName != "TXT") { Response.Write("请选择文本文件"); }else { StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default); txtContent.Text = fileStream.ReadToEnd(); fileStream.Close(); } }}
二.获取文件列表
////// 获取文件列表/// private void GetFileList(){ string strCurDir,FileName,FileExt; /**文件大小 long FileSize; /**最后修改时间; DateTime FileModify; /**初始化 if(!IsPostBack) { /**初始化时,默认为当前页面所在的目录 strCurDir = Server.MapPath("."); lblCurDir.Text = strCurDir; txtCurDir.Text = strCurDir; } else { strCurDir = txtCurDir.Text; txtCurDir.Text = strCurDir; lblCurDir.Text = strCurDir; } FileInfo fi; DirectoryInfo dir; TableCell td; TableRow tr; tr = new TableRow(); /**动态添加单元格内容 td = new TableCell(); td.Controls.Add(new LiteralControl("文件名")); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl("文件类型")); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl("文件大小")); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl("最后修改时间")); tr.Cells.Add(td); tableDirInfo.Rows.Add(tr); /**针对当前目录建立目录引用对象 DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text); /**循环判断当前目录下的文件和目录 foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos()) { FileName = ""; FileExt = ""; FileSize = 0; /**如果是文件 if(fsi is FileInfo) { fi = (FileInfo)fsi; /**取得文件名 FileName = fi.Name; /**取得文件的扩展名 FileExt = fi.Extension; /**取得文件的大小 FileSize = fi.Length; /**取得文件的最后修改时间 FileModify = fi.LastWriteTime; } /**否则是目录 else { dir = (DirectoryInfo)fsi; /**取得目录名 FileName = dir.Name; /**取得目录的最后修改时间 FileModify = dir.LastWriteTime; /**设置文件的扩展名为"文件夹" FileExt = "文件夹"; } /**动态添加表格内容 tr = new TableRow(); td = new TableCell(); td.Controls.Add(new LiteralControl(FileName)); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl(FileExt)); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl(FileSize.ToString()+"字节")); tr.Cells.Add(td); td = new TableCell(); td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss"))); tr.Cells.Add(td); tableDirInfo.Rows.Add(tr); }} 四.写入日志文件
1/**//// <summary> 2/// 写入日志文件 3/// </summary> 4/// <param name="input"></param>
5private void WriteLogFile(string input) 6{ 7 /**////指定日志文件的目录 8 string fname = Server.MapPath("upedFile") + "\\logfile.txt"; 9 /**////定义文件信息对象 10 FileInfo finfo = new FileInfo(fname);1112 /**////判断文件是否存在以及是否大于2K 13 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}五.创建HTML文件
1/**//// <summary> 2/// 创建HTML文件 3/// </summary>
4private 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;//主要内容3536 /**////根据上面新的内容生成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}《收集》