System.IO.File.OpenWrite 方法

方法描述

打开一个现有文件或创建一个新文件以进行写入。

语法定义(C# System.IO.File.OpenWrite 方法 的用法)

public static FileStream OpenWrite(
	string path
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要打开以进行写入的文件。
返回值 System.IO.FileStream 具有 Write 访问权限的指定路径上的非共享 FileStream 对象。

提示和注释

此方法等同于 FileStream(String, FileMode, FileAccess, FileShare) 构造函数过载,并且文件模式设置为 OpenOrCreate,访问设置为 Write,共享模式设置为 None。

该 OpenWrite 方法打开文件(如果已存在文件路径的文件);或创建一个新文件(如果不存在该文件路径的文件)。 对于现有的文件,不把新文本追加到现有文本。 相反,它会用新的字符覆盖现有字符。 如果您用一个较短的字符串(如“第二次运行”)覆盖一个较长的字符串(例如,“这是 OpenWrite 方法的测试”),则该文件将包含字符串的混合(“ OpenWrite 方法的第二个 runtest”)。

path 参数可以指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,使用 GetCurrentDirectory 方法。

有关通用 I/O 任务的列表,请参见通用 I/O 任务。

System.IO.File.OpenWrite 方法例子

下面的示例打开一个文件以进行读取和写入。

using System;
using System.IO;
using System.Text;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";

        // Open the stream and write to it.
        using (FileStream fs = File.OpenWrite(path)) 
        {
            Byte[] info = 
                new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method.");

            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.OpenRead(path)) 
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0) 
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}

异常

异常 异常描述
UnauthorizedAccessException
  • 调用方没有所要求的权限。
  • path 指定了只读文件或目录。
ArgumentException path 是一个零长度字符串,仅包含空白或者包含一个或多个由 InvalidPathChars 定义的无效字符。
ArgumentNullException path 为 null。
PathTooLongException 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
DirectoryNotFoundException 指定的路径无效(例如,它位于未映射的驱动器上)。
FileNotFoundException 未找到 path 中指定的文件。
NotSupportedException path 的格式无效。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.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 系统要求。