| Name | Description | Type | Package | Framework |
| BitInputStream | An interface to describe the requirements for reading bit data as opposed to bytes. | Interface | htsjdk.samtools.cram.io | HtsJDK |
| BitOutputStream | An interface to describe the requirements for writing out bits as opposed to bytes. | Interface | htsjdk.samtools.cram.io | HtsJDK |
| CountingInputStream | An input stream that counts the bytes read from it. | Class | htsjdk.samtools.cram.io | HtsJDK |
| CramArray | Methods to read and write CRAM array of integers data type. | Class | htsjdk.samtools.cram.io | HtsJDK |
| CramInt | Methods to read and write CRAM int values as given in the file format specification. | Class | htsjdk.samtools.cram.io | HtsJDK |
| CRC32InputStream | An input stream that calculates CRC32 of all the bytes passed through it. | Class | htsjdk.samtools.cram.io | HtsJDK |
| CRC32OutputStream | An output stream that calculates CRC32 checksum of all the bytes written through the stream. | Class | htsjdk.samtools.cram.io | HtsJDK |
| DefaultBitInputStream | Class | htsjdk.samtools.cram.io | HtsJDK | |
| DefaultBitOutputStream | Class | htsjdk.samtools.cram.io | HtsJDK | |
| ExposedByteArrayOutputStream | Class | htsjdk.samtools.cram.io | HtsJDK | |
| ExternalCompression | Methods to provide CRAM external compression/decompression features. | Class | htsjdk.samtools.cram.io | HtsJDK |
| InputStreamUtils | Convenience methods to read from InputStream. | Class | htsjdk.samtools.cram.io | HtsJDK |
| ITF8 | Methods to read and write int values as per ITF8 specification in CRAM. | Class | htsjdk.samtools.cram.io | HtsJDK |
| LTF8 | Methods to read and write LTF8 as per CRAM specs. | Class | htsjdk.samtools.cram.io | HtsJDK |