Class LinkedDataReader
java.lang.Object
cool.scx.io.data_reader.LinkedDataReader
- All Implemented Interfaces:
DataReader
LinkedDataReader
- Version:
- 0.0.1
- Author:
- scx567888
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendData(DataNode data) longensureAvailable(long maxPullCount) longensureAvailableOrThrow(long maxPullCount) longfindIndex(DataIndexer indexer, long maxLength, long maxPullCount) longindexOf(DataIndexer indexer, long maxLength, long maxPullCount) 查找索引intInputStream 写法的 readintinputStreamRead(byte[] b, int off, int len) InputStream 写法的 readbyte[]inputStreamReadNBytes(long len) InputStream 写法的 readlonginputStreamTransferTo(OutputStream out, long maxLength) InputStream 写法的 TransferTovoidmark()标记bytepeek()查看单个字节 (指针会移动) 当没有更多的数据时会抛出异常voidpeek(DataConsumer dataConsumer, long maxLength, long maxPullCount) 向 dataConsumer 写入指定长度字节 (指针不会移动) 当没有更多的数据时会抛出异常booleanpullData()byteread()读取单个字节 (指针会移动) 当没有更多的数据时会抛出异常voidread(DataConsumer dataConsumer, long maxLength, long maxPullCount) 向 dataConsumer 写入指定长度字节 (指针会移动) 当没有更多的数据时会抛出异常voidreset()重置voidwalk(DataConsumer consumer, long maxLength, boolean movePointer, long maxPullCount)
-
Field Details
-
dataSupplier
-
head
-
tail
-
markNode
-
markNodePosition
public int markNodePosition
-
-
Constructor Details
-
LinkedDataReader
-
LinkedDataReader
public LinkedDataReader()
-
-
Method Details
-
appendData
-
pullData
- Throws:
DataSupplierException
-
ensureAvailable
- Throws:
DataSupplierException
-
ensureAvailableOrThrow
public long ensureAvailableOrThrow(long maxPullCount) throws NoMoreDataException, DataSupplierException -
walk
public void walk(DataConsumer consumer, long maxLength, boolean movePointer, long maxPullCount) throws DataSupplierException - Throws:
DataSupplierException
-
findIndex
public long findIndex(DataIndexer indexer, long maxLength, long maxPullCount) throws NoMatchFoundException, DataSupplierException -
read
Description copied from interface:DataReader读取单个字节 (指针会移动) 当没有更多的数据时会抛出异常- Specified by:
readin interfaceDataReader- Returns:
- byte
- Throws:
NoMoreDataException- 没有更多数据时抛出DataSupplierException
-
read
public void read(DataConsumer dataConsumer, long maxLength, long maxPullCount) throws NoMoreDataException, DataSupplierException Description copied from interface:DataReader向 dataConsumer 写入指定长度字节 (指针会移动) 当没有更多的数据时会抛出异常- Specified by:
readin interfaceDataReader- Parameters:
dataConsumer- 消费者maxLength- 最大长度maxPullCount- 最大长度- Throws:
NoMoreDataException- 没有更多数据时抛出DataSupplierException
-
peek
Description copied from interface:DataReader查看单个字节 (指针会移动) 当没有更多的数据时会抛出异常- Specified by:
peekin interfaceDataReader- Returns:
- byte
- Throws:
NoMoreDataException- 没有更多数据时抛出DataSupplierException
-
peek
public void peek(DataConsumer dataConsumer, long maxLength, long maxPullCount) throws NoMoreDataException, DataSupplierException Description copied from interface:DataReader向 dataConsumer 写入指定长度字节 (指针不会移动) 当没有更多的数据时会抛出异常- Specified by:
peekin interfaceDataReader- Parameters:
dataConsumer- 消费者maxLength- 最大长度maxPullCount- 最大长度- Throws:
NoMoreDataException- 没有更多数据时抛出DataSupplierException
-
indexOf
public long indexOf(DataIndexer indexer, long maxLength, long maxPullCount) throws NoMatchFoundException, NoMoreDataException, DataSupplierException Description copied from interface:DataReader查找索引- Specified by:
indexOfin interfaceDataReader- Throws:
NoMatchFoundExceptionNoMoreDataExceptionDataSupplierException
-
mark
public void mark()Description copied from interface:DataReader标记- Specified by:
markin interfaceDataReader
-
reset
public void reset()Description copied from interface:DataReader重置- Specified by:
resetin interfaceDataReader
-
inputStreamRead
Description copied from interface:DataReaderInputStream 写法的 read- Specified by:
inputStreamReadin interfaceDataReader- Throws:
IOException
-
inputStreamRead
Description copied from interface:DataReaderInputStream 写法的 read- Specified by:
inputStreamReadin interfaceDataReader- Throws:
IOException
-
inputStreamTransferTo
Description copied from interface:DataReaderInputStream 写法的 TransferTo- Specified by:
inputStreamTransferToin interfaceDataReader- Throws:
IOException
-
inputStreamReadNBytes
Description copied from interface:DataReaderInputStream 写法的 read- Specified by:
inputStreamReadNBytesin interfaceDataReader- Throws:
IOException
-