C#基础 StreamWriter 读取内容,写到另外一个txt中

版权声明:知识来源于智慧与善良并存的师傅们,亦当回报给智慧与善良并存的人们。 https://blog.csdn.net/yushaopu/article/details/82312922

慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。


  •    .NET Framework : 4.6.1
  •                           ide : visual studio 2017 community
  •                             os : win7 x86_64
  •            type setting : markdown
  •                         blog : https://blog.csdn.net/yushaopu
  •                     github : https://github.com/GratefulHeartCoder

my.txt(utf8)

道德经·第十章
【作者】老子 【朝代】春秋时期
载营魄抱一,能无离乎?

专气致柔,能如婴儿乎?

涤除玄览,能无疵乎?

爱民治国,能无以智乎?

天门开阖,能为雌乎?

明白四达,能无为乎?

生之畜之,生而不有,为而不恃,长而不宰,是谓玄德。


来自:https://hanyu.baidu.com/s?wd=%E9%81%93%E5%BE%B7%E7%BB%8F%C2%B7%E7%AC%AC%E5%8D%81%E7%AB%A0&from=poem

code

using System;
using System.IO;
using System.Text;

namespace ConsoleApp
{

    class Program
    {
        static void Main(string[] args)
        {

            // my.txt存在的
            using (StreamReader sReader = new StreamReader(@"my.txt", Encoding.UTF8))
            {
                // myNew.txt不存在,没有就新建

                using (StreamWriter sWriter = new StreamWriter(@"myNew.txt",false,Encoding.UTF8))
                {
                    sWriter.WriteLine("---");
                    while (!sReader.EndOfStream)
                    {
                        // 如果没有到末尾,那么读一行写一行
                        sWriter.WriteLine(sReader.ReadLine());
                    }
                    sWriter.WriteLine("---");
                }
            }
            Console.WriteLine("OK");
            Console.ReadKey();
        }
    }
}

result

OK

myNew.txt

---
道德经·第十章
【作者】老子 【朝代】春秋时期
载营魄抱一,能无离乎?

专气致柔,能如婴儿乎?

涤除玄览,能无疵乎?

爱民治国,能无以智乎?

天门开阖,能为雌乎?

明白四达,能无为乎?

生之畜之,生而不有,为而不恃,长而不宰,是谓玄德。


来自:https://hanyu.baidu.com/s?wd=%E9%81%93%E5%BE%B7%E7%BB%8F%C2%B7%E7%AC%AC%E5%8D%81%E7%AB%A0&from=poem
---

扩展 - StreamWriter构造函数

        //
        // 摘要:
        //     新实例初始化 System.IO.StreamWriter 类通过使用指定的编码和默认的缓冲区大小指定的文件。 如果该文件存在,则可以将其覆盖或向其追加。
        //     如果该文件不存在,此构造函数将创建一个新文件。
        //
        // 参数:
        //   path:
        //     要写入的完整文件路径。
        //
        //   append:
        //     true 若要将数据追加到该文件; false 覆盖该文件。 如果指定的文件不存在,该参数无效,且构造函数将创建一个新文件。
        //
        //   encoding:
        //     要使用的字符编码。
        //
        // 异常:
        //   T:System.UnauthorizedAccessException:
        //     拒绝访问。
        //
        //   T:System.ArgumentException:
        //     path 为空。 - 或 - path 包含 (com1 和 com2,等) 的系统设备的名称。
        //
        //   T:System.ArgumentNullException:
        //     path 为 null。
        //
        //   T:System.IO.DirectoryNotFoundException:
        //     指定的路径无效(例如,它位于未映射的驱动器上)。
        //
        //   T:System.IO.IOException:
        //     path 包含文件的名称、 目录名称或卷标签语法不正确或无效的语法。
        //
        //   T:System.IO.PathTooLongException:
        //     指定的路径和/或文件名超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径长度不得超过 248 个字符,文件名长度不得超过 260 个字符。
        //
        //   T:System.Security.SecurityException:
        //     调用方没有所要求的权限。
        public StreamWriter(string path, bool append, Encoding encoding);

resource


感恩曾经帮助过 心少朴 的人。
C#优秀,值得学习。.NET Core具有跨平台的能力,值得关注。
Console,WinForm,WPF,ASP.NET,Azure WebJob,WCF,Unity3d,UWP可以适当地了解。
注:此文是自学笔记所生,质量中下等,故要三思而后行。新手到此,不可照搬,应先研究其理象数,待能变通之时,自然跳出深坑。

猜你喜欢

转载自blog.csdn.net/yushaopu/article/details/82312922