public class BDecoder
extends java.lang.Object
BEValues.
A bencoded byte stream can represent byte arrays, numbers, lists and
maps (dictionaries).
It currently contains a hack to indicate a name of a dictionary of
which a SHA-1 digest hash should be calculated (the hash over the
original bencoded bytes).| コンストラクタ | 説明 |
|---|---|
BDecoder(java.io.InputStream in) |
Initalizes a new BDecoder.
|
| 修飾子とタイプ | メソッド | 説明 |
|---|---|---|
BEValue |
bdecode() |
Gets the next indicator and returns either null when the stream
has ended or bdecodes the rest of the stream and returns the
appropriate BEValue encoded object.
|
static BEValue |
bdecode(java.io.InputStream in) |
Creates a new BDecoder and immediatly decodes the first value it
sees.
|
BEValue |
bdecodeBytes() |
Returns the next bencoded value on the stream and makes sure it
is a byte array.
|
BEValue |
bdecodeList() |
Returns the next bencoded value on the stream and makes sure it
is a list.
|
BEValue |
bdecodeMap() |
Returns the next bencoded value on the stream and makes sure it
is a map (dictonary).
|
BEValue |
bdecodeNumber() |
Returns the next bencoded value on the stream and makes sure it
is a number.
|
byte[] |
get_special_map_digest() |
Ugly hack.
|
int |
getNextIndicator() |
Returns what the next bencoded object will be on the stream or -1
when the end of stream has been reached.
|
static void |
main(java.lang.String[] args) |
prints out the decoded data
|
public BDecoder(java.io.InputStream in)
InputStream yet.public byte[] get_special_map_digest()
public static BEValue bdecode(java.io.InputStream in) throws java.io.IOException
InvalidBEncodingException - when the stream doesn't start with a
bencoded value or the stream isn't a bencoded stream at all.java.io.IOException - when somthing bad happens with the stream
to read from.public int getNextIndicator()
throws java.io.IOException
java.io.IOExceptionpublic BEValue bdecode() throws java.io.IOException
java.io.IOExceptionpublic BEValue bdecodeBytes() throws java.io.IOException
java.io.IOExceptionpublic BEValue bdecodeNumber() throws java.io.IOException
java.io.IOExceptionpublic BEValue bdecodeList() throws java.io.IOException
java.io.IOExceptionpublic BEValue bdecodeMap() throws java.io.IOException
java.io.IOExceptionpublic static void main(java.lang.String[] args)