C#文件操作-.pdf

上传人:索**** 文档编号:76257600 上传时间:2023-03-08 格式:PDF 页数:12 大小:163.81KB
返回 下载 相关 举报
C#文件操作-.pdf_第1页
第1页 / 共12页
C#文件操作-.pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《C#文件操作-.pdf》由会员分享,可在线阅读,更多相关《C#文件操作-.pdf(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C#中的文件操作(一)2010-01-02 来自:博客园字体大小:【大 中 小】C#追加文件StreamWriter sw=File.AppendText(Server.MapPath(.)+myText.txt);sw.WriteLine(追逐理想);sw.WriteLine(kzlll);sw.WriteLine(.NET笔记);sw.Flush();sw.Close();C#拷贝文件string OrignFile,NewFile;OrignFile=Server.MapPath(.)+myText.txt;NewFile=Server.MapPath(.)+myTextCopy.txt

2、;File.Copy(OrignFile,NewFile,true);C#删除文件string delFile=Server.MapPath(.)+myTextCopy.txt;File.Delete(delFile);C#移动文件string OrignFile,NewFile;OrignFile=Server.MapPath(.)+myText.txt;NewFile=Server.MapPath(.)+myTextCopy.txt;File.Move(OrignFile,NewFile);C#创建目录/创建目录 c:sixAge DirectoryInfo d=Directory.Cre

3、ateDirectory(c:sixAge);/d1指向 c:sixAgesixAge1 DirectoryInfo d1=d.CreateSubdirectory(sixAge1);/d2指向 c:sixAgesixAge1sixAge1_1 DirectoryInfo d2=d1.CreateSubdirectory(sixAge1_1);/将当前目录设为c:sixAge Directory.SetCurrentDirectory(c:sixAge);/创建目录 c:sixAgesixAge2 Directory.CreateDirectory(sixAge2);/创建目录 c:sixAg

4、esixAge2sixAge2_1 Directory.CreateDirectory(sixAge2sixAge2_1);递归删除文件夹及文件 publicvoid DeleteFolder(string dir)if (Directory.Exists(dir)/如果存在这个文件夹删除之 foreach(string d in Directory.GetFileSystemEntries(dir)if(File.Exists(d)File.Delete(d);/直接删除其中的文件else DeleteFolder(d);/递归删除子文件夹 Directory.Delete(dir);/删除

5、已空文件夹 Response.Write(dir+文件夹删除成功);else Response.Write(dir+该文件夹不存在);/如果文件夹不存在则提示 protectedvoid Page_Load(Object sender,EventArgs e)string Dir=D:gbook11;DeleteFolder(Dir);/调用函数删除文件夹 /=/实现一个静态方法将指定文件夹下面的所有内容copy 到目标文件夹下面 /如果目标文件夹为只读属性就会报错。/April 18April2005 In STU /=publicstaticvoid CopyDir(string srcP

6、ath,string aimPath)try /检查目标目录是否以目录分割字符结束如果不是则添加之if(aimPathaimPath.Length-1!=Path.DirectorySeparatorChar)aimPath+=Path.DirectorySeparatorChar;/判断目标目录是否存在如果不存在则新建之if(!Directory.Exists(aimPath)Directory.CreateDirectory(aimPath);/得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组 /如果你指向 copy 目标文件下面的文件而不包含目录请使用下面的方法 /strin

7、g fileList=Directory.GetFiles(srcPath);string fileList=Directory.GetFileSystemEntries(srcPath);/遍历所有的文件和目录foreach(string file in fileList)/先当作目录处理如果存在这个目录就递归Copy该目录下面的文件if(Directory.Exists(file)CopyDir(file,aimPath+Path.GetFileName(file);/否则直接 Copy 文件else File.Copy(file,aimPath+Path.GetFileName(file

8、),true);catch (Exception e)MessageBox.Show(e.ToString();/=/实现一个静态方法将指定文件夹下面的所有内容Detele /测试的时候要小心操作,删除之后无法恢复。/April 18April2005 In STU /=publicstaticvoid DeleteDir(string aimPath)try /检查目标目录是否以目录分割字符结束如果不是则添加之if(aimPathaimPath.Length-1!=Path.DirectorySeparatorChar)aimPath+=Path.DirectorySeparatorChar

9、;/得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组 /如果你指向 Delete 目标文件下面的文件而不包含目录请使用下面的方法 /string fileList=Directory.GetFiles(aimPath);string fileList=Directory.GetFileSystemEntries(aimPath);/遍历所有的文件和目录foreach(string file in fileList)/先当作目录处理如果存在这个目录就递归Delete 该目录下面的文件if(Directory.Exists(file)DeleteDir(aimPath+Path.Get

10、FileName(file);/否则直接 Delete 文件else File.Delete(aimPath+Path.GetFileName(file);/删除文件夹 System.IO.Directory.Delete(aimPath,true);catch (Exception e)MessageBox.Show(e.ToString();需要引用命名空间:using System.IO;/拷贝文件夹(包括子文件夹)到指定文件夹下,源文件夹和目标文件夹均需绝对路径.格式:CopyFolder(源文件夹,目标文件夹);/-/作者:明天去要饭 QQ:305725744 /-publicsta

11、ticvoid CopyFolder(string strFromPath,string strToPath)/如果源文件夹不存在,则创建if (!Directory.Exists(strFromPath)Directory.CreateDirectory(strFromPath);/取得要拷贝的文件夹名string strFolderName=strFromPath.Substring(strFromPath.LastIndexOf()+1,strFromPath.Length-strFromPath.LastIndexOf()-1);/如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件

12、夹if (!Directory.Exists(strToPath+strFolderName)Directory.CreateDirectory(strToPath+strFolderName);/创建数组保存源文件夹下的文件名string strFiles=Directory.GetFiles(strFromPath);/循环拷贝文件for(int i=0;i strFiles.Length;i+)/取得拷贝的文件名,只取文件名,地址截掉。string strFileName=strFilesi.Substring(strFilesi.LastIndexOf()+1,strFilesi.Le

13、ngth-strFilesi.LastIndexOf()-1);/开始拷贝文件,true表示覆盖同名文件 File.Copy(strFilesi,strToPath+strFolderName+strFileName,true);/创建 DirectoryInfo实例 DirectoryInfo dirInfo=new DirectoryInfo(strFromPath);/取得源文件夹下的所有子文件夹名称 DirectoryInfo ZiPath=dirInfo.GetDirectories();for (int j=0;j ZiPath.Length;j+)/获取所有子文件夹名string

14、 strZiPath=strFromPath+ZiPathj.ToString();/把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝 CopyFolder(strZiPath,strToPath+strFolderName);C#中的文件操作(二)2010-01-02 来自:博客园字体大小:【大 中 小】一读取文本文件 1/2/读取文本文件 3/4privatevoid ReadFromTxtFile()5 6if(filePath.PostedFile.FileName!=)7 8 txtFilePath=filePath.PostedFile.FileName;9 fileExtN

15、ame=txtFilePath.Substring(txtFilePath.LastIndexOf(.)+1,3);1011if(fileExtName!=txt&fileExtName!=TXT)12 13 Response.Write(请选择文本文件);14 15else16 17 StreamReader fileStream=new StreamReader(txtFilePath,Encoding.Default);18 txtContent.Text=fileStream.ReadToEnd();19 fileStream.Close();20 21 22 二获取文件列表 1/2/

16、获取文件列表 3/4privatevoid GetFileList()5 6string strCurDir,FileName,FileExt;7 8/文件大小 9long FileSize;10 11/最后修改时间;12 DateTime FileModify;13 14/初始化 15if(!IsPostBack)16 17/初始化时,默认为当前页面所在的目录 18 strCurDir=Server.MapPath(.);19 lblCurDir.Text=strCurDir;20 txtCurDir.Text=strCurDir;21 22else 23 24 strCurDir=txtC

17、urDir.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(

18、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

19、 DirectoryInfo(txtCurDir.Text);52 53/循环判断当前目录下的文件和目录 54foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos()55 56 FileName=;57 FileExt=;58 FileSize=0;59 60/如果是文件 61if(fsi is FileInfo)62 63 fi=(FileInfo)fsi;64 65/取得文件名 66 FileName=fi.Name;67 68/取得文件的扩展名 69 FileExt=fi.Extension;70 71/取得文件的大小 72 F

20、ileSize=fi.Length;73 74/取得文件的最后修改时间 75 FileModify=fi.LastWriteTime;76 77 78/否则是目录 79else 80 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 t

21、d.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.

22、Add(new LiteralControl(FileModify.ToString(yyyy-mm-dd hh:mm:ss);106 tr.Cells.Add(td);107 tableDirInfo.Rows.Add(tr);108 109 三读取日志文件 1/2/读取日志文件 3/4privatevoid ReadLogFile()5 6/从指定的目录以打开或者创建的形式读取日志文件 7 FileStream fs =new FileStream(Server.MapPath(upedFile)+logfile.txt,FileMode.OpenOrCreate,FileAccess.R

23、ead);8 9/定义输出字符串10 StringBuilder output=new StringBuilder();1112/初始化该字符串的长度为013 output.Length=0;1415/为上面创建的文件流创建读取数据流16 StreamReader read=new StreamReader(fs);1718/设置当前流的起始位置为文件流的起始点19 read.BaseStream.Seek(0,SeekOrigin.Begin);2021/读取文件22while (read.Peek()-1)23 24/取文件的一行内容并换行25 output.Append(read.Rea

24、dLine()+n);26 2728/关闭释放读数据流29 read.Close();3031/返回读到的日志文件内容32return output.ToString();33 四写入日志文件 1/2/写入日志文件 3/4/5privatevoid WriteLogFile(string input)6 7/指定日志文件的目录 8string fname=Server.MapPath(upedFile)+logfile.txt;9/定义文件信息对象10 FileInfo finfo=new FileInfo(fname);1112/判断文件是否存在以及是否大于2K13if (finfo.Exi

25、sts&finfo.Length 2048)14 15/删除该文件16 finfo.Delete();17 18/创建只写文件流19using(FileStream fs=finfo.OpenWrite()20 21/根据上面创建的文件流创建写数据流22 StreamWriter w=new StreamWriter(fs);2324/设置写数据流的起始位置为文件流的末尾25 w.BaseStream.Seek(0,SeekOrigin.End);2627/写入“Log Entry:”28 w.Write(nLog Entry:);2930/写入当前系统时间并换行31 w.Write(0 1

26、rn,DateTime.Now.ToLongTimeString(),32 DateTime.Now.ToLongDateString();3334/写入日志内容并换行35 w.Write(input+n);3637/写入-“并换行38 w.Write(-n);3940/清空缓冲区内容,并把缓冲区内容写入基础流41 w.Flush();4243/关闭写数据流44 w.Close();45 46 五创建 HTML 文件 1/2/创建 HTML文件 3/4privatevoid CreateHtmlFile()5 6/定义和 html 标记数目一致的数组 7string newContent=ne

27、w string5;8 StringBuilder strhtml=new StringBuilder();9try10 11/创建 StreamReader 对象12using (StreamReader sr=new StreamReader(Server.MapPath(createHTML)+template.html)13 14 String oneline;1516/读取指定的HTML 文件模板17while (oneline=sr.ReadLine()!=null)18 19 strhtml.Append(oneline);20 21 sr.Close();22 23 24cat

28、ch(Exception err)25 26/输出异常信息27 Response.Write(err.ToString();28 29/为标记数组赋值30 newContent0=txtTitle.Text;/标题31 newContent1=BackColor=#cccfff;/背景色32 newContent2=#ff0000;/字体颜色33 newContent3=100px;/字体大小34 newContent4=txtContent.Text;/主要内容3536/根据上面新的内容生成html 文件37try38 39/指定要生成的HTML 文件40string fname=Serve

29、r.MapPath(createHTML)+DateTime.Now.ToString(yyyymmddhhmmss)+.html;4142/替换 html 模版文件里的标记为新的内容43for(int i=0;i 5;i+)44 45 strhtml.Replace($htmlkey+i+,newContenti);46 47/创建文件信息对象48 FileInfo finfo=new FileInfo(fname);4950/以打开或者写入的形式创建文件流51using(FileStream fs=finfo.OpenWrite()52 53/根据上面创建的文件流创建写数据流54 Stre

30、amWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding(GB2312);5556/把新的内容写到创建的HTML页面中57 sw.WriteLine(strhtml);58 sw.Flush();59 sw.Close();60 6162/设置超级链接的属性63 hyCreateFile.Text=DateTime.Now.ToString(yyyymmddhhmmss)+.html;64 hyCreateFile.NavigateUrl=createHTML/+DateTime.Now.ToString(yyyymmddhhmmss)+.html;65 66catch(Exception err)67 68 Response.Write(err.ToString();69 70

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术标书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com