當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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


File.Create(String, Int32, FileOptions, FileSecurity)是一個內置的 File 類方法,用於覆蓋現有文件,指定緩衝區大小和描述如何創建或覆蓋文件的選項以及確定文件訪問控製和審計安全性的值。如果指定的文件不存在,此函數本身會創建一個新文件。
用法:

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

參數:此函數接受三個參數,如下所示:

  • 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.
  • fileSecurity: This is a object that determines the access control and audit security for the file.

異常:

  • UnauthorizedAccessException:調用者沒有所需的權限。或路徑指定了隻讀文件。或路徑指定了隱藏的文件。
  • ArgumentException:路徑是一個長度為零的字符串,隻包含空格,或者一個或多個由 InvalidPathChars 定義的無效字符。
  • ArgumentNullException:路徑為空。
  • PathTooLongException:指定的路徑,文件名或兩者都超過了system-defined的最大長度。
  • DirectoryNotFoundException:指定的路徑無效。
  • IOException:創建文件時發生 I/O 錯誤。
  • NotSupportedException:路徑格式無效。

返回值:返回具有指定緩衝區大小、文件選項和文件安全性的新文件。
下麵是說明 File.Create(String, Int32, FileOptions, FileSecurity) 方法的程序。
程序1:最初,沒有創建文件。但是下麵的代碼本身會創建一個具有指定內容的新文件 file.txt。



C#


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

執行:

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

運行以上代碼後,將顯示以上輸出,並且現有文件內容將被覆蓋。




相關用法


注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 File.Create(String, Int32, FileOptions, FileSecurity) Method in C# with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。