Package jp.gr.java_conf.dangan.io
Class BitInputStream
java.lang.Object
java.io.InputStream
jp.gr.java_conf.dangan.io.BitInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
?r?b?g???????????????[?e?B???e?B?N???X?B
-- revision history -- $Log: BitInputStream.java,v $ Revision 1.5 2002/12/07 00:00:00 dangan [maintenance] ?\?[?X???? Revision 1.4 2002/11/15 00:00:00 dangan [improvement] prefetchBits() ?? 32bit ???????????????????????????C?? [change] ???\?b?h???????X prefetchBit -> peekBit prefetchBoolean -> peekBoolean prefetchBits -> peekBits Revision 1.3 2002/11/02 00:00:00 dangan [bug fix] available() availableBits() ?? ?u???b?N??????????????????????????????l????????????B Revision 1.2 2002/09/05 00:00:00 dangan [change] EndOfStream ???B???????? read( new byte[0] ) ?? read( byte[] buf, int off, 0 ) ???????l?? InputStream ??????? 0 ???????????????? Revision 1.1 2002/09/04 00:00:00 dangan [bug fix] skip( len ) ?? skipBits( len ) ?? len ?? 0 ????????? ??????????????????????????B Revision 1.0 2002/09/03 00:00:00 dangan add to version control [bug fix] mark() ?? ???}?????? in ???n?? readLimit ???v?Z???????????????A ?v???????? readLimit ???B?????O???}?[?N???u???j???????????????????B EndOfStream ???B???????? skip() ?N???? skip( 0 ) ?? -1 ????????????B [maintenance] ?^?u?p?~ ???C?Z???X????C??
- Version:
- $Revision: 1.5 $
- Author:
- $Author: dangan $
-
Constructor Summary
ConstructorsConstructorDescription?????X?g???[?? in ???????f?[?^???r?b?g?P???? ?????????????????X?g???[?????\?z?????BBitInputStream
(InputStream in, int CacheSize) ?????X?g???[?? in ???????f?[?^???r?b?g?P???? ?????????????????X?g???[?????\?z?????B -
Method Summary
Modifier and TypeMethodDescriptionint
???}???????????X?g???[???????u???b?N??????? ?????????}???????????o?C?g?????????Bint
???}???????????X?g???[???????u???b?N??????? ?????????}???????????r?b?g?????????Bvoid
close()
?}???????X?g???[????????A ?g?p??????????\?[?X???J???????Bvoid
mark
(int readLimit) ???}???????????X?g???[???????????u???}?[?N?????????A reset() ???\?b?h???}?[?N???????_?? ???????????u?? ?????????????????Bboolean
???}???????????X?g???[???? mark() ?? reset() ?? ?T?|?[?g?????????????Bint
peekBit()
???????????u?????????? 1?r?b?g???f?[?^?????????????Bint
peekBits
(int count) ???????????u?????????? count ?r?b?g???f?[?^?????????????B
?????l?? int?^???????}???????????????????? ?????L???r?b?g???? 32?r?b?g???????B
EndOfStream ?t??????????A???????o?????}?????????????????? 32?r?b?g???????B(?r?b?g?o?b?t?@?????????? 32?r?b?g??????????)
???? 32?r?b?g?????????????@?\???K?{???????????? ?????s?x mark()?AreadBits()?Areset() ???J?????????A ?}???N???X???g?p?????}???????????}???Bboolean
???????????u?????????? 1?r?b?g???f?[?^?? ?^?U?l?????????????????Bint
read()
???}???????X?g???[?????? 8?r?b?g???f?[?^???????????Bint
read
(byte[] buffer) ???}???????????X?g???[?????? ?o?C?g?z?? buffer ?? ?????????????f?[?^???????????B
?f?[?^???K?????? buffer ????????????????????}?????????Bint
read
(byte[] buffer, int index, int length) ???}???????????X?g???[?????? ?o?C?g?z?? buffer ?? index ???w???????????u???? length ?o?C?g???f?[?^?? ?????????B
?}?????\?b?h?? length?o?C?g???????????A EndOfStream ?????B?????????u???b?N?????B
?f?[?^???K?????? length ?o?C?g???????????????????? ????}?????????Bint
readBit()
???}???????????X?g???[?????? 1?r?b?g???f?[?^?? ?????????Bint
readBits
(int count) ???}???????????X?g???[?????? count ?r?b?g???f?[?^?? ?????????B ?????l?? int?l???????????????????????? ?????????}?????????? ?????L???r?b?g???? 32?r?b?g?? ???????Acount ??32???????l?????????????`?F?b?N?? ??????????? ???????????l???????????????? ?r?b?g ?f?[?^?????????????????B
???????? readBits( 33 ) ???????????? ????1?r?b?g?? ?f?[?^???????????A???????? 32?r?b?g???f?[?^???????B
???? count ?? 0?????????????????????????o?????????A ?f?[?^??????????????????????????? ?????l?? ????0?A EndOfStream ???B????????? EOFException ?? ???????_???????????}???Bboolean
???}???????????X?g???[?????? 1?r?b?g???f?[?^?? ?^?U?l???????????????Bvoid
reset()
???}???????????X?g???[???????????????u???????? mark() ???\?b?h???????o???????????????u???????????Blong
skip
(long length) ???}???????????X?g???[?????f?[?^?? length ?o?C?g ???????????B
?}?????\?b?h?? length?o?C?g?????????????A EndOfStream ?????B?????????u???b?N?????B
?f?[?^???K?????? length ?o?C?g?????????????????????? ????}?????????Bint
skipBits
(int count) ???}???????X?g???[?????? count ?r?b?g???f?[?^?? ???????????BMethods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
BitInputStream
?????X?g???[?? in ???????f?[?^???r?b?g?P???? ?????????????????X?g???[?????\?z?????B- Parameters:
in
- ?????X?g???[??
-
BitInputStream
?????X?g???[?? in ???????f?[?^???r?b?g?P???? ?????????????????X?g???[?????\?z?????B- Parameters:
in
- ?????X?g???[??CacheSize
- ?o?b?t?@?T?C?Y
-
-
Method Details
-
read
???}???????X?g???[?????? 8?r?b?g???f?[?^???????????B- Specified by:
read
in classInputStream
- Returns:
- ?????o?????? 8?r?b?g???f?[?^?B
???? EndOfStream ???B????????????? -1 - Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????BitDataBrokenException
- EndOfStream???B???????? ?v?????????r?b?g?????f?[?^?? ?????????????s?????????B
-
read
???}???????????X?g???[?????? ?o?C?g?z?? buffer ?? ?????????????f?[?^???????????B
?f?[?^???K?????? buffer ????????????????????}?????????B- Overrides:
read
in classInputStream
- Parameters:
buffer
- ?????????????f?[?^???i?[???????????o?C?g?z??- Returns:
- buffer ?????????????f?[?^?????o?C?g?????????B
???? EndOfStream ???B????????????? -1 ???????B - Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????BitDataBrokenException
- EndOfStream???B???????? ?v?????????r?b?g?????f?[?^?? ?????????????s?????????B
-
read
???}???????????X?g???[?????? ?o?C?g?z?? buffer ?? index ???w???????????u???? length ?o?C?g???f?[?^?? ?????????B
?}?????\?b?h?? length?o?C?g???????????A EndOfStream ?????B?????????u???b?N?????B
?f?[?^???K?????? length ?o?C?g???????????????????? ????}?????????B- Overrides:
read
in classInputStream
- Parameters:
buffer
- ?????????????f?[?^???i?[???????????o?C?g?z??index
- buffer?????f?[?^?????????J?n???ulength
- buffer???????????f?[?^??- Returns:
- buffer ?????????????f?[?^?????o?C?g?????????B
???? EndOfStream ???B????????????? -1 ???????B - Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????BitDataBrokenException
- EndOfStream???B???????? ?v?????????r?b?g?????f?[?^?? ?????????????s?????????B
-
skip
???}???????????X?g???[?????f?[?^?? length ?o?C?g ???????????B
?}?????\?b?h?? length?o?C?g?????????????A EndOfStream ?????B?????????u???b?N?????B
?f?[?^???K?????? length ?o?C?g?????????????????????? ????}?????????B- Overrides:
skip
in classInputStream
- Parameters:
length
- ???????????o?C?g???B- Returns:
- ?????????????????????o?C?g???B
- Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
mark
public void mark(int readLimit) ???}???????????X?g???[???????????u???}?[?N?????????A reset() ???\?b?h???}?[?N???????_?? ???????????u?? ?????????????????B- Overrides:
mark
in classInputStream
- Parameters:
readLimit
- ?}?[?N???u???????????E???o?C?g???B ?}???o?C?g?????L?????f?[?^?????? ?????????? reset()?????????????? ?\?????????B
-
reset
???}???????????X?g???[???????????????u???????? mark() ???\?b?h???????o???????????????u???????????B- Overrides:
reset
in classInputStream
- Throws:
IOException
-
(1) BitInputStream ?? mark ???????????????????B
(2) ???}???????????X?g???[???? markSupported()?? false ???????????B
(3) ???}???????????X?g???[???? ???o???G???[??????????????B
?????????B
-
markSupported
public boolean markSupported()???}???????????X?g???[???? mark() ?? reset() ?? ?T?|?[?g?????????????B- Overrides:
markSupported
in classInputStream
- Returns:
- ?X?g???[???? mark() ?? reset() ??
?T?|?[?g?????????? true?B
?T?|?[?g??????????? false?B
-
available
???}???????????X?g???[???????u???b?N??????? ?????????}???????????o?C?g?????????B- Overrides:
available
in classInputStream
- Returns:
- ?u???b?N????????????o?????o?C?g???B
- Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
close
?}???????X?g???[????????A ?g?p??????????\?[?X???J???????B- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
readBit
???}???????????X?g???[?????? 1?r?b?g???f?[?^?? ?????????B- Returns:
- ????????????1?r?b?g???f?[?^?B
????EndOfStream???B????????????? -1?B - Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
readBoolean
???}???????????X?g???[?????? 1?r?b?g???f?[?^?? ?^?U?l???????????????B- Returns:
- ????????????1?r?b?g???f?[?^??
1???????? true?A0???????? false ???????B
- Throws:
EOFException
- ????EndOfStream???B???????????IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
readBits
???}???????????X?g???[?????? count ?r?b?g???f?[?^?? ?????????B ?????l?? int?l???????????????????????? ?????????}?????????? ?????L???r?b?g???? 32?r?b?g?? ???????Acount ??32???????l?????????????`?F?b?N?? ??????????? ???????????l???????????????? ?r?b?g ?f?[?^?????????????????B
???????? readBits( 33 ) ???????????? ????1?r?b?g?? ?f?[?^???????????A???????? 32?r?b?g???f?[?^???????B
???? count ?? 0?????????????????????????o?????????A ?f?[?^??????????????????????????? ?????l?? ????0?A EndOfStream ???B????????? EOFException ?? ???????_???????????}???B- Parameters:
count
- ?????????f?[?^???r?b?g??- Returns:
- ?????????????r?b?g?f?[?^?B
- Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????EOFException
- ????EndOfStream???B???????????BitDataBrokenException
- ?????????r???? EndOfStream???B???????? ?v?????????r?b?g?????f?[?^?????????? ?????s?????????B
-
skipBits
???}???????X?g???[?????? count ?r?b?g???f?[?^?? ???????????B- Parameters:
count
- ??????????????????r?b?g??- Returns:
- ???????????????????r?b?g??
- Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
peekBit
???????????u?????????? 1?r?b?g???f?[?^?????????????B- Returns:
- ????????????1?r?b?g???f?[?^?B
????EndOfStream???B????????????? -1?B - Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
peekBoolean
???????????u?????????? 1?r?b?g???f?[?^?? ?^?U?l?????????????????B- Returns:
- ????????????1?r?b?g???f?[?^??
1???????? true?A0???????? false ???????B
- Throws:
EOFException
- ????EndOfStream???B???????????IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-
peekBits
???????????u?????????? count ?r?b?g???f?[?^?????????????B
?????l?? int?^???????}???????????????????? ?????L???r?b?g???? 32?r?b?g???????B
EndOfStream ?t??????????A???????o?????}?????????????????? 32?r?b?g???????B(?r?b?g?o?b?t?@?????????? 32?r?b?g??????????)
???? 32?r?b?g?????????????@?\???K?{???????????? ?????s?x mark()?AreadBits()?Areset() ???J?????????A ?}???N???X???g?p?????}???????????}???B- Parameters:
count
- ?????????r?b?g??- Returns:
- ?????????? count ?r?b?g???r?b?g?f?[?^
- Throws:
EOFException
- ????EndOfStream???B???????????IOException
- ???}???????????X?g???[???? ???o???G???[?????????????NotEnoughBitsException
- count ???????????\???????O??????
-
availableBits
???}???????????X?g???[???????u???b?N??????? ?????????}???????????r?b?g?????????B- Returns:
- ?u???b?N????????????o?????r?b?g???B
- Throws:
IOException
- ???}???????????X?g???[???? ???o???G???[?????????????
-