System.IO.File.Open 方法 (String, FileMode, FileAccess)
上一篇:System.IO.File.Open(String,FileMode) 方法
下一篇:System.IO.File.Open(String,FileMode,FileAccess,FileShare) 方法
方法描述
以指定的模式和访问权限打开指定路径上的 FileStream。
语法定义(C# System.IO.File.Open 方法 (String, FileMode, FileAccess) 的用法)
public static FileStream Open( string path, FileMode mode, FileAccess access )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
path | System-String | 要打开的文件。 |
mode | System-IO-FileMode | FileMode 值,用于指定在文件不存在时是否创建该文件,并确定是保留还是覆盖现有文件的内容。 |
access | System-IO-FileAccess | FileAccess 值,指定可以对文件执行的操作。 |
返回值 | System.IO.FileStream | 一个非共享的 FileStream,它提供对指定文件的访问,并且具有指定的模式和访问权限。 |
提示和注释
允许 path 参数指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,请参见 GetCurrentDirectory。
System.IO.File.Open 方法 (String, FileMode, FileAccess)例子
下面的示例以只读访问方式打开一个文件。
using System; using System.IO; using System.Text; class Test { public static void Main() { // This sample assumes that you have a folder named "c:\temp" on your computer. string filePath = @"c:\temp\MyTest.txt"; // Delete the file if it exists. if (File.Exists(filePath)) { File.Delete(filePath); } // Create the file. using (FileStream fs = File.Create(filePath)) { Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file."); // Add some information to the file. fs.Write(info, 0, info.Length); } // Open the stream and read it back. using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read)) { byte[] b = new byte[1024]; UTF8Encoding temp = new UTF8Encoding(true); while (fs.Read(b,0,b.Length) > 0) { Console.WriteLine(temp.GetString(b)); } try { // Try to write to the file. fs.Write(b,0,b.Length); } catch (Exception e) { Console.WriteLine("Writing was disallowed, as expected: {0}", e.ToString()); } } } }
异常
异常 | 异常描述 |
---|---|
ArgumentException |
|
ArgumentNullException | path 为 null。 |
PathTooLongException | 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。 |
DirectoryNotFoundException | 指定的路径无效(例如,它位于未映射的驱动器上)。 |
IOException | 打开文件时发生了 I/O 错误。 |
UnauthorizedAccessException |
|
ArgumentOutOfRangeException | mode 或 access 指定了一个无效值。 |
FileNotFoundException | 未找到 path 中指定的文件。 |
NotSupportedException | path 的格式无效。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
上一篇:System.IO.File.Open(String,FileMode) 方法
下一篇:System.IO.File.Open(String,FileMode,FileAccess,FileShare) 方法