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:路径为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 ,其中包含一些指定的内容,如下所示:
程序2:在运行以下代码之前,将创建以下所示的文件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.
运行以上代码后,将显示以上输出,并且现有文件内容将被覆盖。