NET问答: 有最干净利落的读写文件方式吗?
咨詢區(qū)
ApprenticeHacker:
在 C# 中有很多種讀寫文件的方式 (文本文件,非二進(jìn)制)。
為了踐行 do more, write less 的思想,現(xiàn)尋找一種最簡單最少代碼量的方式,因?yàn)樵谖业捻?xiàng)目中有太多的功能需要讀寫文件了。
回答區(qū)
vc 74:
可以使用 C# 中的 File.ReadAllText 和 File.WriteAllText。
MSDN 上提供了如下的例子。
//?Create?a?file?to?write?to. string?createText?=?"Hello?and?Welcome"?+?Environment.NewLine; File.WriteAllText(path,?createText);...//?Open?the?file?to?read?from. string?readText?=?File.ReadAllText(path);Roland:
可以通過 擴(kuò)展方法 的方式實(shí)現(xiàn)最少代碼的寫法,我敢打賭絕對是最簡單的,做法就是在 string 上做擴(kuò)展,具體用什么名字就取決于個人喜好了。
using?System.IO;//File,?Directory,?Pathnamespace?Lib {///?<summary>///?Handy?string?methods///?</summary>public?static?class?Strings{///?<summary>///?Extension?method?to?write?the?string?Str?to?a?file///?</summary>///?<param?name="Str"></param>///?<param?name="Filename"></param>public?static?void?WriteToFile(this?string?Str,?string?Filename){File.WriteAllText(Filename,?Str);return;}//?of?course?you?could?add?other?useful?string?methods...}//end?class }//end?ns有了擴(kuò)展方法后,用起來就非常簡單了。
using?Lib;//(extension)?method(s)?for?string namespace?ConsoleApp_Sandbox {class?Program{static?void?Main(string[]?args){"Hello?World!".WriteToFile(@"c:\temp\helloworld.txt");return;}}//end?class }//end?ns看起來是不是非常美好,所以我決定分享給你們啦,祝使用愉快。
點(diǎn)評區(qū)
小編在學(xué)習(xí)C#的早期,都是通過 StreamWriter 和 StreamReader 來操控文件,參考代碼如下:
static?void?Main(string[]?args){using?(StreamWriter?writetext?=?new?StreamWriter("write.txt")){writetext.WriteLine("writing?in?text?file");}using?(StreamReader?readtext?=?new?StreamReader("readme.txt")){string?readText?=?readtext.ReadLine();}}后來莫名其妙的知道了 File 下居然還有 Read 和 Write 系列靜態(tài)擴(kuò)展方法后,再也回不去了。。。????????????
不過奇怪也沒啥奇怪的,底層大多還是 StreamWriter 和 StreamReader 的封裝而已,如下圖所示:
原文鏈接:https://stackoverflow.com/questions/7569904/easiest-way-to-read-from-and-write-to-files
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的NET问答: 有最干净利落的读写文件方式吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在 NET 程序万种死法中有效的生成
- 下一篇: .NET 开源配置组件 AgileCon