---
title: ArchiveStream
framework: applearchive
role: symbol
role_heading: Class
path: applearchive/archivestream
---

# ArchiveStream

An archive stream that reads from and writes to data blobs

## Declaration

```swift
class ArchiveStream
```

## Topics

### Creating an Archive Stream

- [init(object:owned:messageProc:)](applearchive/archivestream/init(object:owned:messageproc:).md)

### Writing Directory Contents

- [writeDirectoryContents(archiveFrom:path:keySet:selectUsing:flags:threadCount:)](applearchive/archivestream/writedirectorycontents(archivefrom:path:keyset:selectusing:flags:threadcount:).md)

### Extracting Data

- [extractStream(extractingTo:selectUsing:flags:threadCount:)](applearchive/archivestream/extractstream(extractingto:selectusing:flags:threadcount:).md)
- [withExtractStream(extractingTo:selectUsing:flags:threadCount:_:)](applearchive/archivestream/withextractstream(extractingto:selectusing:flags:threadcount:_:).md)

### Encoding Data

- [encodeStream(writingTo:selectUsing:flags:threadCount:)](applearchive/archivestream/encodestream(writingto:selectusing:flags:threadcount:).md)
- [withEncodeStream(writingTo:selectUsing:flags:threadCount:_:)](applearchive/archivestream/withencodestream(writingto:selectusing:flags:threadcount:_:).md)

### Decoding Data

- [decodeStream(readingFrom:selectUsing:flags:threadCount:)](applearchive/archivestream/decodestream(readingfrom:selectusing:flags:threadcount:).md)
- [withDecodeStream(readingFrom:selectUsing:flags:threadCount:_:)](applearchive/archivestream/withdecodestream(readingfrom:selectusing:flags:threadcount:_:).md)

### Converting Data

- [convertStream(writingTo:insertKeySet:removeKeySet:selectUsing:flags:threadCount:)](applearchive/archivestream/convertstream(writingto:insertkeyset:removekeyset:selectusing:flags:threadcount:).md)
- [withConvertStream(writingTo:insertKeySet:removeKeySet:selectUsing:flags:threadCount:_:)](applearchive/archivestream/withconvertstream(writingto:insertkeyset:removekeyset:selectusing:flags:threadcount:_:).md)

### Processing Data

- [process(readingFrom:writingTo:selectUsing:flags:threadCount:)](applearchive/archivestream/process(readingfrom:writingto:selectusing:flags:threadcount:).md)

### Using Custom Streams

- [customStream(instance:)](applearchive/archivestream/customstream(instance:).md)
- [withStream(wrapping:_:)](applearchive/archivestream/withstream(wrapping:_:).md)

## Relationships

### Conforms To

- [ArchiveStreamProtocol](applearchive/archivestreamprotocol.md)

## See Also

### Apple Archive streams

- [ArchiveStreamProtocol](applearchive/archivestreamprotocol.md)
- [ArchiveByteStreamProtocol](applearchive/archivebytestreamprotocol.md)
- [ArchiveByteStream](applearchive/archivebytestream.md)
