File.Open(String,FileMode)是一个内置的File类方法,该方法用于在具有共享访问权限的指定路径上打开具有读/写访问权限的FileStream。
句法:
public static System.IO.FileStream Open (string path, System.IO.FileMode mode);
参数:该函数接受两个参数,如下所示:
- sourceFileName: This is the specified file to open.
- mode: This mode value specifies whether a new file is created if one does not exist, and also determines whether the existing file’s contents are retained or overwritten.
例外情况:
- ArgumentException:路径是长度为零的字符串,仅包含空格,或者由InvalidPathChars定义的一个或多个无效字符。
- ArgumentNullException:路径为null。
- PathTooLongException:给定的路径,文件名或两者都超过了系统定义的最大长度。
- DirectoryNotFoundException:指定的路径无效。
- IOException:打开文件时发生I / O错误。
- UnauthorizedAccessException:该路径指定了一个只读文件。或当前平台不支持此操作。或路径指定目录。或呼叫者没有所需的权限。或者模式为创建且指定的文件为隐藏文件。
- ArgumentOutOfRangeException:模式指定了无效的值。
- FileNotFoundException:找不到在路径中指定的文件。
- NotSupportedException:路径格式无效。
返回值:返回以指定模式和路径打开的FileStream,具有读取/写入访问权限并且不共享。
下面是说明File.Open(String,FileMode)方法的程序。
程序1:下面的代码创建一个临时文件,向其中写入一些指定的内容,然后打开文件并打印。
CSharp
// C# program to illustrate the usage
// of File.Open(String, FileMode) method
// Using System, System.IO and
// System.Text namespaces
using System;
using System.IO;
using System.Text;
class GFG {
public static void Main()
{
// Creating a temporary file
string path = Path.GetTempFileName();
using(FileStream fs = File.Open(path, FileMode.Open))
{
// Putting some contents
Byte[] info = new UTF8Encoding(true).GetBytes("GFG is a CS Portal.");
fs.Write(info, 0, info.Length);
}
// Opening the stream and reading it back.
using(FileStream fs = File.Open(path, FileMode.Open))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b, 0, b.Length) > 0) {
Console.WriteLine(temp.GetString(b));
}
}
}
}
CSharp
// C# program to illustrate the usage
// of File.Open(String, FileMode) 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 path
string path = @"file.txt";
// Opening above file and reading it back.
using(FileStream fs = File.Open(path, FileMode.Open))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b, 0, b.Length) > 0) {
// Printing the file contents
Console.WriteLine(temp.GetString(b));
}
}
}
}
输出:
GFG is a CS Portal.
程序2:最初,将创建一个文件file.txt ,其内容如下所示-
下面的代码将打开文件file.txt并打印其内容。
尖锐的
// C# program to illustrate the usage
// of File.Open(String, FileMode) 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 path
string path = @"file.txt";
// Opening above file and reading it back.
using(FileStream fs = File.Open(path, FileMode.Open))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b, 0, b.Length) > 0) {
// Printing the file contents
Console.WriteLine(temp.GetString(b));
}
}
}
}
输出:
GeeksforGeeks