📌  相关文章
📜  C#中带有示例的File.Create(String,Int32,FileOptions)方法

📅  最后修改于: 2021-05-29 17:29:49             🧑  作者: Mango

File.Create(String,Int32,FileOptions)是一个内置的File类方法,用于覆盖现有文件,指定缓冲区大小以及描述如何创建或覆盖文件的选项,如果指定的文件是不存在。
句法:

参数:此函数接受三个参数,如下所示:

例外情况:

  • UnauthorizedAccessException:调用者没有所需的权限。或路径指定了只读文件。或路径指定了隐藏的文件。
  • ArgumentException:路径是长度为零的字符串,仅包含空格,或者由InvalidPathChars定义的一个或多个无效字符。
  • ArgumentNullException:路径为null。
  • PathTooLongException:指定的路径,文件名或两者都超过系统定义的最大长度。
  • DirectoryNotFoundException:给定的路径无效。
  • IOException:创建文件时发生I / O错误。
  • NotSupportedException:路径格式无效。

返回值:返回具有指定缓冲区大小的新文件。
下面是说明File.Create(String,Int32,FileOptions)方法的程序。
程序1:最初没有创建文件。但是下面的代码本身创建了一个具有指定内容的新文件file.txt

CSharp
// C# program to illustrate the usage
// of File.Create(String, Int32,
// FileOptions) method
 
// Using System, System.IO and
// System.Text namespaces
using System;
using System.IO;
using System.Text;
 
class GFG {
    public static void Main()
    {
        // Specifying a file
        string myfile = @"file.txt";
 
        // Calling the create() function
        using(FileStream fs = File.Create(myfile, 1024, FileOptions.RandomAccess))
        {
            // Adding the below contents into the file
            Byte[] info = new UTF8Encoding(true).GetBytes("GeeksforGeeks");
            fs.Write(info, 0, info.Length);
        }
 
        // Reading the file contents
        using(StreamReader sr = File.OpenText(myfile))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) {
                Console.WriteLine(s);
            }
        }
    }
}


CSharp
// C# program to illustrate the usage
// of File.Create(String, Int32,
// FileOptions) method
 
// Using System, System.IO and
// System.Text namespaces
using System;
using System.IO;
using System.Text;
 
class GFG {
    public static void Main()
    {
        // Specifying a file
        string myfile = @"file.txt";
 
        // Calling the create() function
        using(FileStream fs = File.Create(myfile, 1024, FileOptions.RandomAccess))
        {
            // overwriting the below contents into the file
            Byte[] info = new UTF8Encoding(true).GetBytes("GFG is a CS Portal.");
            fs.Write(info, 0, info.Length);
        }
 
        // Reading the file contents
        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

运行以上代码后,将显示以上输出,并创建一个新文件file.txt ,其中包含一些指定的内容,如下所示:

file.txt

程序2:在运行以下代码之前,将创建以下所示的文件file.txt

file.txt

尖锐的

// C# program to illustrate the usage
// of File.Create(String, Int32,
// FileOptions) method
 
// Using System, System.IO and
// System.Text namespaces
using System;
using System.IO;
using System.Text;
 
class GFG {
    public static void Main()
    {
        // Specifying a file
        string myfile = @"file.txt";
 
        // Calling the create() function
        using(FileStream fs = File.Create(myfile, 1024, FileOptions.RandomAccess))
        {
            // overwriting the below contents into the file
            Byte[] info = new UTF8Encoding(true).GetBytes("GFG is a CS Portal.");
            fs.Write(info, 0, info.Length);
        }
 
        // Reading the file contents
        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
GFG is a CS Portal.

运行以上代码后,将显示以上输出,并且现有文件内容将被覆盖。