OracleLob OracleLob OracleLob OracleLob Class

定义

表示存储在 Oracle 服务器上的大型对象二进制 (LOB) 数据类型。Represents a large object binary (LOB) data type stored on an Oracle server. 此类不能被继承。This class cannot be inherited.

public ref class OracleLob sealed : System::IO::Stream, ICloneable, System::Data::SqlTypes::INullable
public sealed class OracleLob : System.IO.Stream, ICloneable, System.Data.SqlTypes.INullable
type OracleLob = class
    inherit Stream
    interface ICloneable
    interface IDisposable
    interface INullable
Public NotInheritable Class OracleLob
Inherits Stream
Implements ICloneable, INullable
继承
实现

注解

OracleLob不同于OracleBFile,而不是在操作系统中的物理文件中的服务器上存储数据。An OracleLob differs from an OracleBFile in that the data is stored on the server instead of in a physical file in the operating system. 它也可以是一个读写对象,与不同OracleBFile,这始终是只读的。It can also be a read-write object, unlike an OracleBFile, which is always read-only.

OracleLob可能是以下其中一个OracleType数据类型。An OracleLob may be one of these OracleType data types.

OracleType 数据类型OracleType data type 描述Description
Blob OracleBLOB包含二进制数据的最大大小为 4 千兆字节 (GB) 的数据类型。An Oracle BLOB data type that contains binary data with a maximum size of 4 gigabytes (GB). 它映射到 Array 类型的 ByteThis maps to an Array of type Byte.
Clob OracleCLOB包含基于默认字符的字符数据的数据类型设置的服务器上,最大大小为 4 GB。An Oracle CLOB data type that contains character data, based on the default character set on the server, with a maximum size of 4 GB. 它映射到 StringThis maps to String.
NClob OracleNCLOB基于最大大小为 4 GB 服务器上的区域字符集包含字符数据的数据类型。An Oracle NCLOB data type that contains character data, based on the national character set on the server with a maximum size of 4 GB. 它映射到 StringThis maps to String.

.NET 应用程序开发人员可以检索 OracleLOB值为基本的.NET 数据类型,例如Array类型的ByteString,或专用OracleLob数据类型。A .NET application developer can retrieve the Oracle LOB values into basic .NET data types, such as Array of type Byte and String, or the specialized OracleLob data type. OracleLob类支持读取数据并写入到 Oracle LOB Oracle 数据库中。The OracleLob class supports reading data from and writing to the Oracle LOB in the Oracle database.

以下列出的主要特征OracleLob区分从基本的.NET 数据类型的数据类型:The following are the main characteristics of an OracleLob data type that distinguish it from basic .NET data types:

  • 检索 Oracle 后LOB值到 Oracle 数据库中的OracleLob类,您可以更改LOB中打开的事务和所做的更改的数据将直接反映到数据库。After you retrieve the Oracle LOB value from the Oracle database into the OracleLob class, you can change the LOB data in an open transaction and your changes are directly reflected to the database. 如果检索 OracleLOB值到Array类型的ByteString和更新这些阵列所做的更改不会反映到数据库。If you retrieve the Oracle LOB value into an Array of type Byte or String and update these arrays, your changes are not reflected to the database.

  • 当你使用OracleLob类访问的区块LOB值,仅该文本块传递从 Oracle 数据库向客户端。When you use the OracleLob class to access a chunk of a LOB value, only that chunk is passed from the Oracle database to the client. 当你使用GetChars方法访问的区块LOB值,该值的整个内容传递从 Oracle 数据库向客户端。When you use the GetChars method to access a chunk of a LOB value, the entire contents of the value are passed from the Oracle database to the client.

若要获取OracleLob对象,请调用GetOracleLob方法。To obtain an OracleLob object, call the GetOracleLob method.

您可以构造OracleLob值为 NULL,使用此格式:You can construct an OracleLob that is NULL using this format:

OracleLob myLob = OracleLob.Null;  

此方法主要用于测试是否LOB从服务器返回为 NULL,如本示例所示:This technique is used primarily to test whether a LOB returned from the server is NULL, as this example illustrates:

If(myLob == OracleLob.Null)  

为空LOB的行为类似于零字节LOB在于Read成功并始终返回零字节。A NULL LOB behaves similarly to a zero-byte LOB in that Read succeeds and always returns zero bytes.

选择LOB包含 null 值的列返回NullSelecting a LOB column that contains a null value returns Null.

必须以事务,然后才能获取临时LOBYou must begin a transaction before obtaining a temporary LOB. 否则为OracleDataReader更高版本中获取数据可能会失败。Otherwise, the OracleDataReader may fail to obtain data later.

您还可以打开一个临时LOB中通过调用 DBMS_LOB Oracle。CREATETEMPORARY 系统存储过程并绑定LOB输出参数。You can also open a temporary LOB in Oracle by calling the DBMS_LOB.CREATETEMPORARY system stored procedure and binding a LOB output parameter. 在客户端,临时LOB的行为类似于基于表的LOBOn the client side, a temporary LOB behaves like a table-based LOB. 例如,若要更新临时LOB,它必须封装在事务中。For example, to update the temporary LOB, it must be enclosed in a transaction.

下面的 C# 示例演示了如何打开临时LOBThe following C# example demonstrates how to open a temporary LOB.

OracleConnection connection = new OracleConnection("server=MyServer; integrated security=yes;");  
connection.Open();  
OracleTransaction transaction = connection.BeginTransaction();  
OracleCommand command = connection.CreateCommand();  
command.Transaction = transaction;  
command.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;";  
command.Parameters.Add(new OracleParameter("tempblob", OracleType.Blob)).Direction = ParameterDirection.Output;  
command.ExecuteNonQuery();  
OracleLob tempLob = (OracleLob)command.Parameters[0].Value;  
byte[] tempbuff = new byte[10000];  
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);  
tempLob.Write(tempbuff,0,tempbuff.Length);  
tempLob.EndBatch();  
command.Parameters.Clear();  
command.CommandText = "MyTable.MyProc";  
command.CommandType = CommandType.StoredProcedure;    
command.Parameters.Add(new OracleParameter("ImportDoc", OracleType.Blob)).Value = tempLob;  
command.ExecuteNonQuery();  
transaction.Commit();  
connection.Close  

备注

继承WriteByte时用于字符数据,方法会失败并InvalidOperationException引发。The inherited WriteByte method fails if used with character data, and an InvalidOperationException is thrown. 请改用 Write 方法。Use the Write method instead.

临时LOB仅关闭时关闭连接,而通过使用池和在负载下,临时LOB不会关闭。Temporary LOBs are only closed when the connection is closed, but with pooling and under load, temporary LOBs do not close. 这可以通过释放临时解决LOB,通过调用tempLob.Dispose()This can be resolved by disposing the temporary LOB, by invoking tempLob.Dispose().

字段

Null Null Null Null

表示一个 null OracleLob 对象。Represents a null OracleLob object.

属性

CanRead CanRead CanRead CanRead

获取一个值,该值指示 LOB 流是否可读。Gets a value indicating whether the LOB stream can be read.

CanSeek CanSeek CanSeek CanSeek

获取一个值,该值指示能否执行向前和向后查找操作。Gets a value indicating whether forward and backward seek operations can be performed.

CanTimeout CanTimeout CanTimeout CanTimeout

获取一个值,该值确定当前流是否可以超时。Gets a value that determines whether the current stream can time out.

(Inherited from Stream)
CanWrite CanWrite CanWrite CanWrite

不管 LOB 是否支持写入,始终返回真。Always returns true, regardless of whether the LOB supports writing or not.

ChunkSize ChunkSize ChunkSize ChunkSize

获取一个值,该值指示读/写操作过程中要从服务器检索或发送到服务器的最小字节数。Gets a value indicating the minimum number of bytes to retrieve from or send to the server during a read/write operation.

Connection Connection Connection Connection

获取由该 OracleConnection 实例使用的 OracleLobGets the OracleConnection used by this instance of the OracleLob.

IsBatched IsBatched IsBatched IsBatched

获取一个值,该值指示应用程序是否调用了 BeginBatch() 方法。Gets a value indicating whether an application called the BeginBatch() method.

IsNull IsNull IsNull IsNull

获取一个值,该值指示 OracleLob 是否为一个 Null 流。Gets a value that indicates whether the OracleLob is a Null stream.

IsTemporary IsTemporary IsTemporary IsTemporary

获取一个值,该值指示 OracleLob 是否为临时 LOBGets a value indicating whether the OracleLob is a temporary LOB.

Length Length Length Length

获取一个值,该值返回 OracleLob 的大小。Gets a value that returns the size of the OracleLob.

LobType LobType LobType LobType

获取一个值,该值返回 LOB 数据类型。Gets a value that returns the LOB data type.

Position Position Position Position

获取 OracleLob 流中的当前读取位置。Gets the current read position in the OracleLob stream.

ReadTimeout ReadTimeout ReadTimeout ReadTimeout

获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Inherited from Stream)
Value Value Value Value

获取公共语言运行时流值(基础值的等效值)。Gets the common language runtime stream value equivalent of the underlying value.

WriteTimeout WriteTimeout WriteTimeout WriteTimeout

获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试写入多长时间。Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Inherited from Stream)

方法

Append(OracleLob) Append(OracleLob) Append(OracleLob) Append(OracleLob)

将数据从指定的 LOB 追加到当前 LOBAppends data from the specified LOB to the current LOB.

BeginBatch() BeginBatch() BeginBatch() BeginBatch()

在执行多个读操作时避免服务器端触发器激发。Prevents server-side triggers from firing while performing multiple read operations.

BeginBatch(OracleLobOpenMode) BeginBatch(OracleLobOpenMode) BeginBatch(OracleLobOpenMode) BeginBatch(OracleLobOpenMode)

在以指定的访问模式执行多个读写操作时避免服务器端触发器激发。Prevents server-side triggers from firing while performing multiple read and write operations in the specified access mode.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

开始异步读操作。Begins an asynchronous read operation. (请考虑改用 ReadAsync(Byte[], Int32, Int32)。)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Inherited from Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

开始异步写操作。Begins an asynchronous write operation. (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Inherited from Stream)
Clone() Clone() Clone() Clone()

创建一个新 OracleLob 对象,该对象与原始 OracleLob 对象引用相同的 Oracle LOBCreates a new OracleLob object that references the same Oracle LOB as the original OracleLob object.

Close() Close() Close() Close()

关闭当前流并释放与该流关联的资源。Closes the current stream and releases resources that are associated with the stream.

CopyTo(Int64, OracleLob, Int64, Int64) CopyTo(Int64, OracleLob, Int64, Int64) CopyTo(Int64, OracleLob, Int64, Int64) CopyTo(Int64, OracleLob, Int64, Int64)

使用该源偏移量将指定数量的数据从该 OracleLob 复制到目标 OracleLobCopies from this OracleLob to a destination OracleLob with the specified amount of data, and the source offset.

CopyTo(OracleLob) CopyTo(OracleLob) CopyTo(OracleLob) CopyTo(OracleLob)

从该 OracleLob 复制到目标 OracleLobCopies from this OracleLob to a destination OracleLob.

CopyTo(OracleLob, Int64) CopyTo(OracleLob, Int64) CopyTo(OracleLob, Int64) CopyTo(OracleLob, Int64)

将指定数量的数据从该 OracleLob 复制到目标 OracleLobCopies from this OracleLob to a destination OracleLob with the specified amount of data.

CopyTo(Stream) CopyTo(Stream) CopyTo(Stream) CopyTo(Stream)

从当前流中读取字节并将其写入到另一流中。Reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32)

使用指定的缓冲区大小,从当前流中读取字节并将其写入到另一流中。Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(Stream)

从当前流中异步读取字节并将其写入到另一个流中。Asynchronously reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken)

通过指定的取消令牌,从当前流中异步读取字节并将其写入到另一个流中。Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Inherited from Stream)
CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32)

使用指定的缓冲区大小,从当前流中异步读取字节并将其写入到另一流中。Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken)

使用指定的缓冲区大小和取消令牌,从当前流中异步读取字节并将其写入到另一个流中。Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Inherited from Stream)
CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateWaitHandle() CreateWaitHandle() CreateWaitHandle() CreateWaitHandle()

分配 WaitHandle 对象。Allocates a WaitHandle object.

(Inherited from Stream)
Dispose() Dispose() Dispose() Dispose()

释放此对象使用的资源。Releases the resources that are used by this object.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

释放由 Stream 占用的非托管资源,还可以另外再释放托管资源。Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

(Inherited from Stream)
DisposeAsync() DisposeAsync() DisposeAsync() DisposeAsync()

异步释放 Stream 使用的非托管资源。Asynchronously releases the unmanaged resources used by the Stream.

(Inherited from Stream)
EndBatch() EndBatch() EndBatch() EndBatch()

允许服务器端触发器在执行多个写入操作之后继续激发。Allows server-side triggers to resume firing after performing multiple write operations.

EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult)

等待挂起的异步读取完成。Waits for the pending asynchronous read to complete. (请考虑改用 ReadAsync(Byte[], Int32, Int32)。)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Inherited from Stream)
EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult)

结束异步写操作。Ends an asynchronous write operation. (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Inherited from Stream)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Erase() Erase() Erase() Erase()

从该 OracleLob 清除所有数据。Erases all data from this OracleLob.

Erase(Int64, Int64) Erase(Int64, Int64) Erase(Int64, Int64) Erase(Int64, Int64)

从该 OracleLob 清除指定数量的数据。Erases the specified amount of data from this OracleLob.

Flush() Flush() Flush() Flush()

目前尚不支持。Not currently supported.

FlushAsync() FlushAsync() FlushAsync() FlushAsync()

异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Inherited from Stream)
FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken)

异步清理这个流的所有缓冲区,并使所有缓冲数据写入基础设备,并且监控取消请求。Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Inherited from Stream)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

检索控制此实例的生存期策略的当前生存期服务对象。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType() GetType() GetType() GetType()

获取当前实例的 TypeGets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

获取生存期服务对象来控制此实例的生存期策略。Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ObjectInvariant() ObjectInvariant() ObjectInvariant() ObjectInvariant()

提供对 Contract 的支持。Provides support for a Contract.

(Inherited from Stream)
Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32)

从当前 OracleLob 流中读取字节序列,并在该流中按照读取的字节数提升位置。Reads a sequence of bytes from the current OracleLob stream and advances the position within the stream by the number of bytes read.

Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>)

当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Inherited from Stream)
ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32)

从当前流异步读取字节序列,并将流中的位置提升读取的字节数。Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Inherited from Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken)

从当前流异步读取字节的序列,将流中的位置提升读取的字节数,并监视取消请求。Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Inherited from Stream)
ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken)

从当前流异步读取字节的序列,将流中的位置提升读取的字节数,并监视取消请求。Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Inherited from Stream)
ReadByte() ReadByte() ReadByte() ReadByte()

从流中读取一个字节,并将流内的位置向前提升一个字节,或者如果已到达流结尾,则返回 -1。Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

(Inherited from Stream)
Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin)

在当前 OracleLob 流上设置位置。Sets the position on the current OracleLob stream.

SetLength(Int64) SetLength(Int64) SetLength(Int64) SetLength(Int64)

OracleLob 流的长度设置为小于当前长度的值。Sets the length of the OracleLob stream to a value less than the current length.

ToString() ToString() ToString() ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(Inherited from Object)
Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32)

将一个字节序列写入当前 OracleLob 流,并使流中的当前位置前进所写入的字节数。Writes a sequence of bytes to the current OracleLob stream, and advances the current position within this stream by the number of bytes written.

Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>)

当在派生类中重写时,向当前流中写入字节序列,并将此流中的当前位置提升写入的字节数。When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Inherited from Stream)
WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32)

将字节序列异步写入当前流,并将流的当前位置提升写入的字节数。Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Inherited from Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken)

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Inherited from Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Inherited from Stream)
WriteByte(Byte) WriteByte(Byte) WriteByte(Byte) WriteByte(Byte)

将一个字节写入 OracleLob 流内的当前位置,并将流内的位置向前推进一个字节。Writes a byte to the current position in the OracleLob stream, and advances the position within the stream by one byte.

显式界面实现

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

释放由 Stream 使用的所有资源。Releases all resources used by the Stream.

(Inherited from Stream)

适用于