Table of Contents

Class OdfPagedGatherWritableStream

Namespace
OdfKit.Core
Assembly
OdfKit.dll

Buffers writes into fixed-size pages and flushes them as gathered write batches when possible. 將寫入資料緩衝為固定大小頁面,並在可行時以聚合寫入批次刷寫。

public sealed class OdfPagedGatherWritableStream : Stream, IDisposable, IAsyncDisposable
Inheritance
OdfPagedGatherWritableStream
Implements
Inherited Members

Constructors

OdfPagedGatherWritableStream(Stream)

Short overload of OdfPagedGatherWritableStream that accepts underlyingStream; remaining optional parameters use defaults and forward to the full overload. 便利多載:提供 underlyingStream;其餘可選參數使用預設值並轉呼叫最長 OdfPagedGatherWritableStream 多載。

public OdfPagedGatherWritableStream(Stream underlyingStream)

Parameters

underlyingStream Stream

OdfPagedGatherWritableStream(Stream, int)

Short overload of OdfPagedGatherWritableStream that accepts underlyingStream and pageSize; remaining optional parameters use defaults and forward to the full overload. 便利多載:提供 underlyingStream 與 pageSize;其餘可選參數使用預設值並轉呼叫最長 OdfPagedGatherWritableStream 多載。

public OdfPagedGatherWritableStream(Stream underlyingStream, int pageSize)

Parameters

underlyingStream Stream
pageSize int

OdfPagedGatherWritableStream(Stream, int, int)

Short overload of OdfPagedGatherWritableStream that accepts underlyingStream, pageSize, and pagesPerFlush; remaining optional parameters use defaults and forward to the full overload. 便利多載:提供 underlyingStream、pageSize 與 pagesPerFlush;其餘可選參數使用預設值並轉呼叫最長 OdfPagedGatherWritableStream 多載。

public OdfPagedGatherWritableStream(Stream underlyingStream, int pageSize, int pagesPerFlush)

Parameters

underlyingStream Stream
pageSize int
pagesPerFlush int

OdfPagedGatherWritableStream(Stream, int, int, bool)

Initializes a new instance of the OdfPagedGatherWritableStream class. 初始化 OdfPagedGatherWritableStream 類別的新執行個體。

public OdfPagedGatherWritableStream(Stream underlyingStream, int pageSize, int pagesPerFlush, bool leaveOpen)

Parameters

underlyingStream Stream

The stream that receives flushed bytes. / 接收刷寫位元組的底層資料流。

pageSize int

The byte size of each page. / 每個頁面的位元組大小。

pagesPerFlush int

The maximum number of pages gathered into one flush. / 每次聚合刷寫的最大頁面數。

leaveOpen bool

A value indicating whether the underlying stream remains open after disposal. / 指出處置後是否保持底層資料流開啟。

Exceptions

ArgumentNullException

Thrown when underlyingStream is null. / 當 underlyingStreamnull 時擲出。

ArgumentOutOfRangeException

Thrown when pageSize or pagesPerFlush is less than 1. / 當 pageSizepagesPerFlush 小於 1 時擲出。

Properties

CanRead

Provides the CanRead member. 提供 CanRead 成員。

public override bool CanRead { get; }

Property Value

bool

CanSeek

Provides the CanSeek member. 提供 CanSeek 成員。

public override bool CanSeek { get; }

Property Value

bool

CanWrite

Provides the CanWrite member. 提供 CanWrite 成員。

public override bool CanWrite { get; }

Property Value

bool

Length

Performs length. 執行 Length。

public override long Length { get; }

Property Value

long

Position

Gets or sets the stream position. 取得或設定資料流位置。

public override long Position { get; set; }

Property Value

long

Methods

Dispose(bool)

Releases unmanaged resources. 釋放非受控資源。

protected override void Dispose(bool disposing)

Parameters

disposing bool

Flush()

Performs flush. 執行 Flush。

public override void Flush()

FlushAsync(CancellationToken)

Performs flush async. 執行 Flush Async。

public override Task FlushAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task

Read(byte[], int, int)

Performs the Read operation. 執行 Read 作業。

public override int Read(byte[] buffer, int offset, int count)

Parameters

buffer byte[]
offset int
count int

Returns

int

Seek(long, SeekOrigin)

Performs seek. 執行 Seek。

public override long Seek(long offset, SeekOrigin origin)

Parameters

offset long
origin SeekOrigin

Returns

long

SetLength(long)

Sets length. 設定 Length。

public override void SetLength(long value)

Parameters

value long

Write(byte[], int, int)

Performs the Write operation. 執行 Write 作業。

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

Parameters

buffer byte[]
offset int
count int

WriteAsync(byte[], int, int, CancellationToken)

Writes async. 寫入 Async。

public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)

Parameters

buffer byte[]
offset int
count int
cancellationToken CancellationToken

Returns

Task