TarReader.GetNextEntryAsync(Boolean, CancellationToken) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
非同步地從壓縮串流中擷取下一個項目。
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)拋出的例外。