小编Leo*_*ger的帖子

使用StreamWriter和FileStream写入txt文件

我使用的时候遇到了一些有趣的StreamWriterFileStream将文本追加到在.NET 4.5的现有文件(没有尝试过任何旧框架).我尝试了两种方法,一种方法有效,一种方式无效.我想知道两者之间有什么区别.

两种方法都在顶部包含以下代码

if (!File.Exists(filepath))
    using (File.Create(filepath));
Run Code Online (Sandbox Code Playgroud)

我在using声明中创建了因为我通过个人经验发现它是确保应用程序完全关闭文件的最佳方法.

非工作方法:

using (FileStream f = new FileStream(filepath, FileMode.Append,FileAccess.Write))
    (new StreamWriter(f)).WriteLine("somestring");
Run Code Online (Sandbox Code Playgroud)

使用此方法,最终不会将任何内容附加到文件中.

工作方式:

using (FileStream f = new FileStream(filepath, FileMode.Append,FileAccess.Write))
    using (StreamWriter s = new StreamWriter(f))
        s.WriteLine("somestring");
Run Code Online (Sandbox Code Playgroud)

我做了一些谷歌搜索,不知道要搜索什么,并没有找到任何信息.那么,为什么匿名StreamWriter失败的地方(非匿名?名字?)StreamWriter有效?

c#

23
推荐指数
2
解决办法
8万
查看次数

标签 统计

c# ×1