NET问答: 有最干净利落的读写文件方式吗?

dotNET跨平台

以下文章来源于NET技术问答 ,作者overflow

NET技术问答精选 StackOverFlow 上的.NET 相关技术问题解答

咨询区

  • ApprenticeHacker

在 C# 中有很多种读写文件的方式 (文本文件,非二进制)。

为了践行 do more, write less 的思想,现寻找一种最简单最少代码量的方式,因为在我的项目中有太多的功能需要读写文件了。

回答区

  • 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

可以通过 扩展方法 的方式实现最少代码的写法,我敢打赌绝对是最简单的,做法就是在 string 上做扩展,具体用什么名字就取决于个人喜好了。

using System.IO;//File, Directory, Path

namespace 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

有了扩展方法后,用起来就非常简单了。

using Lib;//(extension) method(s) for stringnamespace ConsoleApp_Sandbox{    class Program    {        static void Main(string[] args)        {            "Hello World!".WriteToFile(@"c:\temp\helloworld.txt");            return;        }

    }//end class}//end ns

看起来是不是非常美好,所以我决定分享给你们啦,祝使用愉快。

点评区

小编在学习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 系列静态扩展方法后,再也回不去了。。。😏😏😏

不过奇怪也没啥奇怪的,底层大多还是 StreamWriter 和 StreamReader 的封装而已,如下图所示:

原文链接:https://stackoverflow.com/questions/7569904/easiest-way-to-read-from-and-write-to-files

不看的原因确定内容质量低不看此公众号
(0)

相关推荐