- return this.is.parseLeFloat();
- }
-
- /**
- * byte配列を読み込む。
- * @param dst 格納先配列
- * @param offset 読み込み開始オフセット
- * @param length 読み込みバイト数
- * @throws IOException IOエラー
- * @throws NullPointerException 配列がnull
- * @throws IndexOutOfBoundsException 引数が配列属性と矛盾
- * @throws MmdEofException 読み込む途中でストリーム終端に達した。
- * @see MmdInputStream#parseByteArray(byte[], int, int)
- */
- protected void parseByteArray(byte[] dst, int offset, int length)
- throws IOException,
- NullPointerException,
- IndexOutOfBoundsException,
- MmdEofException {
- int readSize = this.is.read(dst, offset, length);
- if(readSize != length){
- throw new MmdEofException(this.is.getPosition());
- }
-
- return;
- }
-
- /**
- * byte配列を読み込む。
- * 配列要素全ての読み込みが試みられる。
- * @param dst 格納先配列
- * @throws IOException IOエラー
- * @throws NullPointerException 配列がnull
- * @throws MmdEofException 読み込む途中でストリーム終端に達した。
- * @see MmdInputStream#parseByteArray(byte[])
- */
- protected void parseByteArray(byte[] dst)
- throws IOException, NullPointerException, MmdEofException{
- parseByteArray(dst, 0, dst.length);
- return;
- }
-
- /**
- * 指定された最大バイト長に収まるゼロ終端(0x00)文字列を読み込む。
- * 入力バイト列はwindows-31jエンコーディングとして解釈される。
- * ゼロ終端以降のデータは無視されるが、
- * IO入力は指定バイト数だけ読み進められる。
- * ゼロ終端が見つからないまま指定バイト数が読み込み終わった場合、
- * そこまでのデータから文字列を構成する。
- * @param maxlen 読み込みバイト数
- * @return デコードされた文字列
- * @throws IOException IOエラー
- * @throws MmdEofException 読み込む途中でストリーム終端に達した。
- * @throws MmdFormatException 不正な文字エンコーディングが検出された。
- */
- protected String parseZeroTermWin31J(int maxlen)
- throws IOException,
- MmdEofException,
- MmdFormatException {
- CharBuffer encoded =
- this.decoderWin31j.parseString(this.is, maxlen);
-
- String result = encoded.toString();
-