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

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

File.Create(String,Int32,FileOptions,FileSecurity)是一个内置的File类方法,用于覆盖现有文件,指定缓冲区大小和选项,这些选项描述如何创建或覆盖文件以及确定访问控制的值。审核文件的安全性。如果指定的文件不存在,则此函数本身会创建一个新文件。
句法:

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

例外情况:

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

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

CSharp
// C# program to illustrate the usage
// of File.Create(String, Int32,
// FileOptions, FileSecurity) method
 
// Using System, System.IO, System.Text and
// System.Security.AccessControl namespaces
using System;
using System.IO;
using System.Text;
using System.Security.AccessControl;
 
class GFG {
    public static void Main()
    {
        // Specifying a file
        string myfile = @"file.txt";
 
        // Calling the create() function to create a
        // new file named as file.txt
        using(FileStream fs = File.Create(myfile, 1024,
            FileOptions.RandomAccess, new FileSecurity()))
        {
            // Adding the below contents
            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, FileSecurity) method
 
// Using System, System.IO, System.Text and
// System.Security.AccessControl namespaces
using System;
using System.IO;
using System.Text;
using System.Security.AccessControl;
 
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, new FileSecurity()))
        {
            // Overwriting the above file with
            // below contents
            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, FileSecurity) method
 
// Using System, System.IO, System.Text and
// System.Security.AccessControl namespaces
using System;
using System.IO;
using System.Text;
using System.Security.AccessControl;
 
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, new FileSecurity()))
        {
            // Overwriting the above file with
            // below contents
            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.

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