語言

TarReader.GetNextEntryAsync(Boolean, CancellationToken) 方法

定義

非同步地從壓縮串流中擷取下一個項目。

public System.Threading.Tasks.ValueTask<System.Formats.Tar.TarEntry?> GetNextEntryAsync(bool copyData = false, System.Threading.CancellationToken cancellationToken = default);
member this.GetNextEntryAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Formats.Tar.TarEntry>
Public Function GetNextEntryAsync (Optional copyData As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TarEntry)

參數

copyData
Boolean

true 將該條目的資料複製到新的 MemoryStream。 當底層的歸檔串流不支援尋找,且資料需要稍後存取時,這很有幫助。

false 如果資料不應該被複製到新的串流中。 若底層串流不支援尋址,使用者需負責在呼叫此方法後立即讀取與處理。DataStream

預設值為 false。

cancellationToken
CancellationToken

用來監控取消申請的代幣。 預設值為 None。

傳回

值任務包含實 TarEntry 例,若找到有效條目或 null 已到達壓縮檔結束。

例外狀況

檔案庫已經被扭曲了。

-或-

該檔案包含不同格式的條目。

-或-

目前的檔案中發現 Pax 了不只一個全域擴展屬性條目。

-或-

目前的檔案中連續發現 Pax 了兩個或以上的擴展屬性條目。

-或-

僅限 .NET 11 及更新版本:條目的校驗和無效。

發生了 I/O 問題。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

備註

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 GetNextEntry(Boolean)拋出的例外。

適用於