📜  C#中的File.CreateText()方法与示例

📅  最后修改于: 2021-05-29 15:45:53             🧑  作者: Mango

File.CreateText()是一个内置的File类方法,用于用给定的UTF-8编码文本覆盖现有文件的内容,如果尚未创建该文件,则此函数将创建一个具有指定内容的新文件。

句法:

public static System.IO.StreamWriter CreateText (string path);

参数:该函数接受如下所示的参数:

例外情况:

  • UnauthorizedAccessException:调用者没有所需的权限。或路径指定了只读文件。或路径指定了隐藏的文件。
  • ArgumentException:路径是长度为零的字符串,仅包含空格或一个或多个无效字符。
  • ArgumentNullException:路径为null。
  • PathTooLongException:指定的路径,文件名或两者都超过系统定义的最大长度。
  • DirectoryNotFoundException:指定的路径无效,即它在未映射的驱动器上。
  • NotSupportedException:路径格式无效。

返回值:返回使用UTF-8编码写入指定文件的StreamWriter。

下面是说明File.CreateText()方法的程序。

程序1:

在运行以下代码之前,将创建一个文件file.txt ,其中包含一些内容,如下所示:

file.txt

// C# program to illustrate the usage
// of File.CreateText() method
  
// Using System, System.IO namespaces
using System;
using System.IO;
  
class GFG {
    // Main method
    public static void Main()
    {
        // Creating a file
        string myfile = @"file.txt";
  
        // Overwriting to the above existing file
        using(StreamWriter sw = File.CreateText(myfile))
        {
            sw.WriteLine("GeeksforGeeks");
            sw.WriteLine("is a");
            sw.WriteLine("computer science");
            sw.WriteLine("portal.");
        }
  
        // Opening the file for reading
        using(StreamReader sr = File.OpenText(myfile))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) {
                Console.WriteLine(s);
            }
        }
    }
}

执行中:

mcs -out:main.exe main.cs
mono main.exe
GeeksforGeeks
is a
computer science
portal.

运行以上代码后,将显示以上输出,并且现有文件file.txt如下所示:

file.txt

程序2:最初没有创建任何文件,因此下面的代码本身创建了一个名为file.txt的文件

// C# program to illustrate the usage
// of File.CreateText() method
  
// Using System, System.IO namespaces
using System;
using System.IO;
  
class GFG {
    // Main method
    public static void Main()
    {
        // Creating a file
        string myfile = @"file.txt";
  
        // Checking the existance of above file
        if (!File.Exists(myfile)) {
            // Creating a new file with below contents
            using(StreamWriter sw = File.CreateText(myfile))
            {
                sw.WriteLine("Geeks");
                sw.WriteLine("GFG");
                sw.WriteLine("GeeksforGeeks");
            }
        }
  
        // Opening the file for reading
        using(StreamReader sr = File.OpenText(myfile))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) {
                Console.WriteLine(s);
            }
        }
    }
}

执行中:

mcs -out:main.exe main.cs
mono main.exe
Geeks
GFG
GeeksforGeeks

运行上面的代码后,将创建一个新文件file.txt ,如下所示:

file.txt