2

我是 C# 文件处理的新手,我正在制作一个非常简单的程序。代码如下:

class MainClass 
{
    public static void Main()
    {
        var sw = new StreamWriter("C:\\Users\\Punit\\Desktop\\hello.txt");
        sw.Write("HelloWorld" +Environment.NewLine);
        sw.Write("ByeWorld");
        sw.Close(); 

        Console.ReadLine();
    }
}

上面的代码在文本文件中产生以下预期结果:

HelloWorld
ByeWorld

我还写了一些修改后的代码版本,如下所示:

class MainClass 
{
    public static void Main()
    {
        var sw = new StreamWriter("C:\\Users\\Punit\\Desktop\\hello.txt");
        sw.Write("HelloWorld\n");
        sw.Write("ByeWorld");
        sw.Close(); 

        Console.ReadLine();
    }
}

在这里而不是使用

Environment.Newline

我直接将“\n”添加到“HelloWorld”行。这产生了以下输出(在文本文件中):

HelloWorldByeWorld

我的问题是为什么第二段代码不起作用?(不在文本文件中生成换行符)

4

4 回答 4

9

请试试

  StreamWriter sw = new StreamWriter("C:\\Users\\Punit\\Desktop\\hello.txt");
    sw.Write("HelloWorld \r\n");
    sw.Write("ByeWorld");
    sw.Close(); 
    Console.ReadLine();

你可以在这里阅读

于 2013-10-25T05:35:41.897 回答
2

你也可以试试

sw.WriteLine("HelloWorld");
sw.WriteLine("ByeWorld");
于 2013-10-25T05:37:07.797 回答
1

将其更改为“sw.WriteLine”。像 c++ 一样,它调用换行符。您还可以阅读以下内容: 如果不存在,则创建一个 .txt 文件,如果它确实附加一个新行

于 2013-10-25T05:36:07.527 回答
1

尝试

sw.Write("HelloWorld\\n");

代替

sw.Write("HelloWorld\n");
于 2013-10-25T05:55:41.277 回答