您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > C#读写文件帮助类
C#读写文件★源代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO;namespaceObserverTest{///summary///操作txt文件在读写时,请加上Encoding.Default,防止可能出现乱码////summarypublicclassTxtFunc{///summary///如果文件不存在,则创建文件.在该文件的末尾追加内容///创建的文件名为yyyyMMdd.txt(一天一个日志文件)////summary///paramname=path文件的路径/param///paramname=content要追加的内容/parampublicstaticvoidCreateFileAndAppend(stringpath,stringcontent){try{if(!File.Exists(path)){FileStreamfsTemp=File.Create(path);fsTemp.Close();}FileStreamfs=newFileStream(path,FileMode.Append,FileAccess.Write);StreamWritersw=newStreamWriter(fs,Encoding.Default);sw.Write(content);sw.Flush();sw.Close();fs.Close();}catch(Exceptionex){Console.WriteLine(ex.Message);}}///summary///删除文件////summary///paramname=path文件的绝对路径/parampublicstaticvoidDeleteFile(stringpath){if(File.Exists(path)){File.Delete(path);}}///summary///读取文件的全部内容////summary///paramname=path文件的路径/param///returns/returnspublicstaticstringReadFile(stringpath){if(File.Exists(path)){try{FileStreamfs=newFileStream(path,FileMode.Open,FileAccess.Read);StreamReadersr=newStreamReader(fs,Encoding.Default);stringresult=sr.ReadToEnd();//strings=;//stringstrLine=sr.ReadLine();//while(strLine!=null)//{//s+=strLine;//strLine=sr.ReadLine();//}sr.Close();fs.Close();returnresult;}catch(Exceptionex){Console.WriteLine(ex.Message);//(,操作文件出错,原因:);return;}}return;}///summary///读取文件,将每行的内容添加到List中////summary///paramname=path路径/param///returns/returnspublicstaticListstringReadFileToList(stringpath){Liststringlist=newListstring();if(File.Exists(path)){try{FileStreamfs=newFileStream(path,FileMode.Open,FileAccess.Read);StreamReadersr=newStreamReader(fs,Encoding.Default);//stringresult=sr.ReadToEnd();//strings=;stringstrLine=sr.ReadLine();while(strLine!=null){list.Add(strLine);strLine=sr.ReadLine();}sr.Close();fs.Close();}catch(Exceptionex){Console.WriteLine(ex.Message);}}returnlist;}///summary///写文件用新的内容来替换原来的内容////summary///paramname=path文件的路径/param///paramname=context新的内容/parampublicstaticvoidWriteFile(stringpath,stringcontext){try{FileStreamfs=newFileStream(path,FileMode.Create,FileAccess.Write);StreamWritersw=newStreamWriter(fs,Encoding.Default);sw.Write(context);sw.Flush();sw.Close();fs.Close();}catch(Exceptionex){Console.WriteLine(ex.Message);}}}}★测试代码:staticvoidMain(string[]args){stringpath=AppDomain.CurrentDomain.BaseDirectory+TextFile.txt;Liststringlist=TxtFunc.ReadFileToList(path);Console.WriteLine(该文件有[{0}]行,list.Count);Console.WriteLine(下面更新文件的部分内容:将遇到的第一个CDKey更新为CDKey=ABCDEF测试;将遇到的第二个CDKey更新为CDKey=123456Test;);StringBuildersb=newStringBuilder();intcount=0;for(inti=0;ilist.Count;i++){if(list[i].IndexOf(CDKey)-1)//如果找到CDKey{count++;if(count==1){intindex=list[i].IndexOf('=');if(index-1){list[i]=list[i].Substring(0,index+1)+ABCDEF测试;}}elseif(count==2){intindex=list[i].IndexOf('=');if(index-1){list[i]=list[i].Substring(0,index+1)+123456Test;}}sb.Append(list[i]+(i==list.Count-1?:\r\n));continue;}if(i==list.Count-1){sb.Append(list[i]);}else{sb.Append(list[i]+\r\n);}}Console.WriteLine(sb.ToString());TxtFunc.WriteFile(path,sb.ToString());//写文件Console.ReadLine();}★在bin\debug\目录下创建一个文本文件TextFile.txt添加TextFile.txt的内容如下:[ID]CashRegisterCode=2103&&收银机号CDKey=ABCDE-2QFBD-HITWN-52D2A-01050&&用户产品授权号CDKey=这里是更新的内容[baseConfig];每隔多少秒检查是否可以连接到远程服务器CheckConnectPeriod=60★更新TextFile.txt的内容后,如下:[ID]CashRegisterCode=2103&&收银机号CDKey=ABCDEF测试CDKey=123456Test[baseConfig];每隔多少秒检查是否可以连接到远程服务器CheckConnectPeriod=60★程序运行结果,如下图:
本文标题:C#读写文件帮助类
链接地址:https://www.777doc.com/doc-4699884 .html