- ベストアンサー
javaでビットデータファイル読込み・書込み
javaで、 例えば ファイルから3000bit分のデータを読み込み。 ↓ 指定したビットを反転したりします。 ↓ そして、またそのファイルに処理後のデータを書き込む。 というような処理をしたいのですが、 まず、最初に3000bit分のデータファイル作成するにはどうしたらいいのでしょうか? そして、そのビットデータをファイルに書き込むにはどうしたらよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 こういうときに、BitSet を使えば、楽でいいんじゃないでしょうか?
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
「400ビット目をビット反転する」なら「400ビット目を含む要素」の (全体で見たときに) 「400ビット目に相当するビット」を反転させればいい. ビット操作をしようということだから, 当然「どのように反転 (あるいはセット/リセット) すればいいか」はわかってますよね.
お礼
ビット反転の方法等は分かってはいます。 何か関数を使って一発でって訳にはいかないようですね。
- salsberry
- ベストアンサー率69% (495/711)
> まず、最初に3000bit分のデータファイル作成するにはどうしたらいいのでしょうか? > そして、そのビットデータをファイルに書き込むにはどうしたらよいでしょうか? その最初のデータの内容が何でもいいのであれば、テキストエディタで適当な文字列を入力して3000ビット=375バイトの長さのファイルを作るのが一番簡単でしょう。 そうでなければ、375バイトのbyte配列を作ってその内容を適切にセットし、FileOutputStream.write()で書き出せばいいと思います。
お礼
ありがとうございます。 大変参考になりました。 最初のデータは3000ビットの00000000……です。 375バイトのbyte配列に値をセットすることにします。 では、例えば、 3000ビット(=375バイト)のbyte配列 もしくは、3000ビット(=375バイト)のinputStreamの 400ビット目をビット反転するというような処理はどのように 実現できますか? よろしくお願いいたします。
お礼
ありがとうございました。