3

将人的内容写入文件

名字: Abcd

第二名:Tsfsdfs

为此,我编写了一个示例应用程序

namespace BinaryStream
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamWriter binWriter = new StreamWriter(@"c:\happybirthday.txt");
            string name = "Sachin";
            string secondname = "tendulkar";
            string wishes = "happy birthday";

            string firstname = string.Format("FirstName: {0} \n", name);
            binWriter.Write(firstname);
            string sn = string.Format("SecondName: {0} \n", secondname);
            binWriter.Write(sn);
            binWriter.Close();          
        }
    }
}

如果我在记事本中打开内容,下一行没有显示字符串这是什么原因?格式部分是否正确?

4

5 回答 5

6

您需要使用 WriteLine,而不是 Write。写入不会在行尾放置换行符\cr。在文本中放置 \n 只会放置换行符,不会放置回车符。

于 2012-04-24T15:01:37.253 回答
3

您需要回车和换行。你只有一个换行符。将您的 \n 替换为 \r\n ,您将在记事本中正确看到它。

于 2012-04-24T15:03:07.687 回答
1

您可能会发现您需要回车 (CR) 和换行 (LF) 字符的组合,而不仅仅是 LF。

所以 - 在您的代码中,将 \n 替换为 \r\n

于 2012-04-24T15:02:07.830 回答
1

对于初学者,您正在创建一个二进制文件而不是文本文件。这可能会使记事本感到困惑。

除了在 C# 中,\n 仅表示 LF,您必须使用 \r\n (CR - LF)。

写这个:

string[] lines = {"FirstName: Abcd", "SecondName: Tsfsdfs"};
System.IO.File.WriteAllLines(@"c:\happybirthday.txt", lines);
于 2012-04-24T15:02:42.813 回答
0

新行在\n\r窗口中。但是有些程序足够聪明,可以理解\n。其他人,如记事本 - 不是。

于 2012-04-24T15:01:56.303 回答