当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# File.Create(String, Int32, FileOptions)用法及代码示例


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

public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options); 
 

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

  • path: This is the specified file path.
  • bufferSize: This is the specified buffer size.
  • options: This is one of the FileOptions values that describes how to create or overwrite the file.

异常:

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

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



C#


// 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);
            }
        }
    }
}

执行:

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

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

file.txt

程序2:下面显示的文件file.txt是在运行以下代码之前创建的。

file.txt

C#


// 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.

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




相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 File.Create(String, Int32, FileOptions) Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。