[過去ログ] スレ立てるまでもない質問はここで 159匹目 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
850
(1): デフォルトの名無しさん [] 2022/04/25(月) 08:05:23.25 ID:tSjXYtJn(1) AAS
>>848
848(1): デフォルトの名無しさん [] 2022/04/25(月) 06:17:11.14 ID:uuG1anaI(1/2) AAS
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inputFilePath));
byte[] data = new byte[1024];
bis.read(data, 0, 4); //4バイト読み込み
ByteBuffer tmpBuffer = ByteBuffer.wrap(data);//dataの中身が正しく[ABCD]の4バイトと表示される
bis.read(data, 0, 2); //2バイト読み込み
tmpBuffer = ByteBuffer.wrap(data);//dataの中身が[EFCD]の4バイトと表示される

バイナリデータを最初4バイト読み込んだ後に、2バイトの読み込みしてます。
最後のdataの中身は2バイトだけ読み込んだだけなので[EF]だと思ったのに、なぜ4バイト([CD]も表示される)もあるのでしょうか?

1回目に読み込んだデータが残ってるだけだよ
同じデータ領域使い回すから
869: デフォルトの名無しさん [] 2022/04/25(月) 22:53:56.23 ID:uuG1anaI(2/2) AAS
>>850
ありがとうございます。
読み込み先をコピーして使うと解決しました。
bis.read(data, 0, 2); //2バイト読み込み
data = Arrays.copyOfRange(data, 0, len + 1);
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.493s*