System.IO.FileInfo.Open 方法 (FileMode, FileAccess)
上一篇:System.IO.FileInfo.Open(FileMode) 方法
下一篇:System.IO.FileInfo.Open(FileMode,FileAccess,FileShare) 方法
方法描述
用读、写或读/写访问权限在指定模式下打开文件。
语法定义(C# System.IO.FileInfo.Open 方法 (FileMode, FileAccess) 的用法)
public FileStream Open( FileMode mode, FileAccess access )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
mode | System-IO-FileMode | 一个 FileMode 常数,它指定打开文件所采用的模式(例如 Open 或 Append)。 |
access | System-IO-FileAccess | 一个 FileAccess 常数,它指定是使用 Read、Write 还是 ReadWrite 文件访问权限来打开文件。 |
返回值 | System.IO.FileStream | 用指定模式和访问权限打开且不共享的 FileStream 对象。 |
提示和注释
System.IO.FileInfo.Open 方法 (FileMode, FileAccess)例子
下面的示例以只读方式打开一个文件并从中读取。
using System; using System.IO; using System.Text; class Test { public static void Main() { string path = @"c:\MyTest.txt"; FileInfo fi = new FileInfo(path); // Delete the file if it exists. if (!fi.Exists) { //Create the file. using (FileStream fs = fi.Create()) { 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 = fi.Open(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()); } } } } //This code produces output similar to the following; //results may vary based on the computer/file structure/etc.: // //This is some text in the file. // // // // // // // // // // // // //Writing was disallowed, as expected: System.NotSupportedException: Stream does //not support writing. // at System.IO.__Error.WriteNotSupported() // at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count) // at Test.Main() in C:\Documents and Settings\My Computer\My Documents\ //Visual Studio 2005\Projects\finfo open2\finfo open2\Program.cs:line 39
异常
异常 | 异常描述 |
---|---|
SecurityException | 调用方没有所要求的权限。 |
ArgumentException | path 为空,或者只包含空白。 |
FileNotFoundException | 找不到该文件。 |
ArgumentNullException | 一个或多个参数为 null。 |
UnauthorizedAccessException | path 为只读,或者是一个目录。 |
DirectoryNotFoundException | 指定的路径无效,比如在未映射的驱动器上。 |
IOException | 该文件已打开。 |
版本信息
.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.FileInfo.Open(FileMode) 方法
下一篇:System.IO.FileInfo.Open(FileMode,FileAccess,FileShare) 方法