FileStream.Write 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Write(ReadOnlySpan<Byte>) |
将字节的序列从只读范围写入当前文件流,并按写入的字节数向前移动此文件流中的当前位置。 |
Write(Byte[], Int32, Int32) |
将字节块写入文件流。 |
Write(ReadOnlySpan<Byte>)
- Source:
- FileStream.cs
- Source:
- FileStream.cs
- Source:
- FileStream.cs
将字节的序列从只读范围写入当前文件流,并按写入的字节数向前移动此文件流中的当前位置。
public:
override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))
参数
- buffer
- ReadOnlySpan<Byte>
内存的区域。 此方法将此区域的内容复制到当前文件流。
例外
.NET 8 及更高版本:基础管道已关闭或断开连接。
注解
CanWrite使用 属性确定当前实例是否支持写入。 WriteAsync使用 方法以异步方式写入当前流。
如果写入操作成功,则文件流中的位置将按写入的字节数前进。 如果发生异常,则文件流中的位置保持不变。
适用于
Write(Byte[], Int32, Int32)
- Source:
- FileStream.cs
- Source:
- FileStream.cs
- Source:
- FileStream.cs
将字节块写入文件流。
public:
override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public:
override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] array, int offset, int count);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)
参数
- arraybuffer
- Byte[]
包含要写入该流的数据的缓冲区。
- offset
- Int32
array
中的从零开始的字节偏移量,从此处开始将字节复制到该流。
- count
- Int32
最多写入的字节数。
例外
array
为 null
。
offset
和 count
描述 array
中的无效范围。
offset
或 count
为负数。
流已关闭。
当前的流实例不支持写入。
示例
此代码示例是为 方法提供的更大示例的 Lock 一部分。
// Write the original file data.
if ( fileStream->Length == 0 )
{
tempString = String::Concat( lastRecordText, recordNumber.ToString() );
fileStream->Write( uniEncoding->GetBytes( tempString ), 0, uniEncoding->GetByteCount( tempString ) );
}
// Write the original file data.
if(fileStream.Length == 0)
{
tempString =
lastRecordText + recordNumber.ToString();
fileStream.Write(uniEncoding.GetBytes(tempString),
0, uniEncoding.GetByteCount(tempString));
}
// Write the original file data.
if fileStream.Length = 0 then
let tempString = lastRecordText + string recordNumber
fileStream.Write(uniEncoding.GetBytes tempString, 0, uniEncoding.GetByteCount tempString)
' Write the original file data.
If aFileStream.Length = 0 Then
tempString = _
lastRecordText + recordNumber.ToString()
aFileStream.Write(uniEncoding.GetBytes(tempString), _
0, uniEncoding.GetByteCount(tempString))
End If
注解
此方法重写 Write。
offset
参数提供 (缓冲区索引) 开始复制的字节array
的偏移量,参数count
提供将写入流的字节数。 如果写入操作成功,则流的当前位置将比写入的字节数提前。 如果发生异常,流的当前位置保持不变。
不要中断正在执行写入操作的线程。 尽管在取消阻止线程后,应用程序似乎可以成功运行,但中断可能会降低应用程序的性能和可靠性。
有关常见文件和目录操作的列表,请参阅 常见 I/O 任务。