System.IO.FileStream.Write 方法

方法描述

使用从缓冲区读取的数据将字节块写入该流。

语法定义(C# System.IO.FileStream.Write 方法 的用法)

public override void Write(
	byte[] array,
	int offset,
	int count
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
array System-Byte[] 包含要写入该流的数据的缓冲区。
offset System-Int32 array 中的从零开始的字节偏移量,从此处开始将字节复制到当前流。
count System-Int32 要写入当前流的字节数。
返回值 void

提示和注释

此方法重写 Write。

offset 参数提供 array(缓冲区索引)中开始复制的位置的字节偏移量,而 count 参数提供将要写入该流的字节数。 如果写操作成功,则流的当前位置前进写入的字节数。 如果发生异常,则流的当前位置不变。

注意

使用 CanWrite 属性可确定当前实例是否支持写入。 有关更多信息,请参见CanWrite。

不支持中断一个正在执行写入操作的线程。 尽管这些操作可能会在取消阻止线程后成功,这些操作仍可以降低应用程序的性能和可靠性。

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

System.IO.FileStream.Write 方法例子

此代码示例是为 Lock 方法提供的一个更大示例的一部分。

// Write the original file data.
if(fileStream.Length == 0)
{
    tempString = 
        lastRecordText + recordNumber.ToString();
    fileStream.Write(uniEncoding.GetBytes(tempString), 
        0, uniEncoding.GetByteCount(tempString));
}

异常

异常 异常描述
ArgumentNullException array 为 null。
ArgumentException offset 和 count 描述 array 中的无效范围。
ArgumentOutOfRangeException offset 或 count 为负。
IOException
  • 发生了 I/O 错误。
  • 另一个线程可能已导致操作系统的文件句柄位置发生意外更改。
ObjectDisposedException 流已关闭。
NotSupportedException 当前流实例不支持写入。

命名空间

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