---
title: "Class TarArchiveReadStream | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveReadStream/"
---

# Class TarArchiveReadStream

> **Inheritance:** `System.Object` -> `System.MarshalByRefObject` -> `System.IO.Stream` -> [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md) -> TarArchiveReadStream

###### **Namespace**: [Aurigma.DesignAtoms.Storage.TarArchive](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public class TarArchiveReadStream : TarArchiveStream, IDisposable
```

## Implements

* `System.IDisposable`

## Inherited Members

* [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream.Flush()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md#flush)
* [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream.Seek(System.Int64, System.IO.SeekOrigin)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md#seek)
* [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream.SetLength(System.Int64)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md#setlength)
* [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream.IsClosed](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md#isclosed)
* [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream.CanSeek](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md#canseek)
* `System.IO.Stream.Null`
* `System.IO.Stream.CopyToAsync(System.IO.Stream)`
* `System.IO.Stream.CopyToAsync(System.IO.Stream,System.Int32)`
* `System.IO.Stream.CopyToAsync(System.IO.Stream,System.Int32,System.Threading.CancellationToken)`
* `System.IO.Stream.CopyTo(System.IO.Stream)`
* `System.IO.Stream.CopyTo(System.IO.Stream,System.Int32)`
* `System.IO.Stream.Dispose`
* `System.IO.Stream.Dispose(System.Boolean)`
* `System.IO.Stream.FlushAsync`
* `System.IO.Stream.FlushAsync(System.Threading.CancellationToken)`
* `System.IO.Stream.CreateWaitHandle`
* `System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)`
* `System.IO.Stream.EndRead(System.IAsyncResult)`
* `System.IO.Stream.ReadAsync(System.Byte[],System.Int32,System.Int32)`
* `System.IO.Stream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)`
* `System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)`
* `System.IO.Stream.EndWrite(System.IAsyncResult)`
* `System.IO.Stream.WriteAsync(System.Byte[],System.Int32,System.Int32)`
* `System.IO.Stream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)`
* `System.IO.Stream.ReadByte`
* `System.IO.Stream.WriteByte(System.Byte)`
* `System.IO.Stream.Synchronized(System.IO.Stream)`
* `System.IO.Stream.ObjectInvariant`
* `System.IO.Stream.CanTimeout`
* `System.IO.Stream.ReadTimeout`
* `System.IO.Stream.WriteTimeout`
* `System.MarshalByRefObject.MemberwiseClone(System.Boolean)`
* `System.MarshalByRefObject.GetLifetimeService`
* `System.MarshalByRefObject.InitializeLifetimeService`
* `System.MarshalByRefObject.CreateObjRef(System.Type)`
* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### TarArchiveReadStream

```csharp
public TarArchiveReadStream(TarReader tarReader, Action onClose)
```

## Properties

### CanRead

```csharp
public override bool CanRead { get; }
```

### CanWrite

```csharp
public override bool CanWrite { get; }
```

### Length

```csharp
public override long Length { get; }
```

### Position

```csharp
public override long Position { get; set; }
```

## Methods

### Close

```csharp
public override void Close()
```

##### Overrides

* [Aurigma.DesignAtoms.Storage.TarArchive.TarArchiveStream.Close()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Storage.TarArchive/TarArchiveStream.md#close)

### Read

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

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Byte[]` | *buffer* |  |
| `System.Int32` | *offset* |  |
| `System.Int32` | *count* |  |

##### Returns

`System.Int32`

##### Overrides

* `System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)`

### Write

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

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Byte[]` | *buffer* |  |
| `System.Int32` | *offset* |  |
| `System.Int32` | *count* |  |

##### Overrides

* `System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)`
