如何:写入文本文件(C# 编程指南)

以下示例给出了将文本写入文件的各种方法。 前两个示例使用 System.IO.File 类中的静态方法将完整的字符串数组或完整字符串写入文本文件。 示例 #3 说明如果在将文本写入文件之前必须分别处理文本的每一行,应该如何将这些文本添加到文件中。 示例 1-3 均覆盖文件中的所有现有内容。 示例 #4 说明如何将文本追加到现有文件的末尾。

示例

    class WriteTextFile
    {
        static void Main()
        {

            // These examples assume a "C:\Users\Public\TestFolder" folder on your machine.
            // You can modify the path if necessary.

            // Example #1: Write an array of strings to a file.
            // Create a string array that consists of three lines.
            string[] lines = {"First line", "Second line", "Third line"};
            System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);


            // Example #2: Write one string to a text file.
            string text = "A class is the most powerful data type in C#. Like structures, " +
                           "a class defines the data and behavior of the data type. ";
            System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

            // Example #3: Write only some strings in an array to a file.
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
            {
                foreach (string line in lines)
                {
                    // If the line doesn't contain the word 'Second', write the line to the file.
                    if (!line.Contains("Second"))
                    {
                        file.WriteLine(line);
                    }
                }
            }

            // Example #4: Append new text to an existing file
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
            {
                file.WriteLine("Fourth line");
            }  
        }
    }
    /* Output (to WriteLines.txt):
        First line
        Second line
        Third line

     Output (to WriteText.txt):
        A class is the most powerful data type in C#. Like structures, a class defines the data and behavior of the data type.

     Output to WriteLines2.txt after Example #3:
        First line
        Third line

     Output to WriteLines2.txt after Example #4:
        First line
        Third line
        Fourth line
     */

编译代码

将代码复制到控制台应用程序中。

将 "c:\testdir" 替换为您计算机上的实际文件夹名称,或者创建一个此名称的文件夹。

可靠编程

以下情况可能会导致异常:

  • 文件已存在并且为只读。

  • 路径名可能太长。

  • 磁盘可能已满。

请参见

概念

C# 编程指南

其他资源

文件系统和注册表(C# 编程指南)