【お題】絵本のタイトル

javaで、
例えば

ファイルから3000bit分のデータを読み込み。

指定したビットを反転したりします。

そして、またそのファイルに処理後のデータを書き込む。

というような処理をしたいのですが、

まず、最初に3000bit分のデータファイル作成するにはどうしたらいいのでしょうか?
そして、そのビットデータをファイルに書き込むにはどうしたらよいでしょうか?

A 回答 (3件)

 こんにちは。



 こういうときに、BitSet を使えば、楽でいいんじゃないでしょうか?

参考URL:http://java.sun.com/javase/ja/6/docs/ja/api/java …
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2011/04/01 13:31

「400ビット目をビット反転する」なら「400ビット目を含む要素」の (全体で見たときに) 「400ビット目に相当するビット」を反転させればいい.


ビット操作をしようということだから, 当然「どのように反転 (あるいはセット/リセット) すればいいか」はわかってますよね.
    • good
    • 0
この回答へのお礼

ビット反転の方法等は分かってはいます。
何か関数を使って一発でって訳にはいかないようですね。

お礼日時:2011/01/14 15:56

> まず、最初に3000bit分のデータファイル作成するにはどうしたらいいのでしょうか?


> そして、そのビットデータをファイルに書き込むにはどうしたらよいでしょうか?

その最初のデータの内容が何でもいいのであれば、テキストエディタで適当な文字列を入力して3000ビット=375バイトの長さのファイルを作るのが一番簡単でしょう。
そうでなければ、375バイトのbyte配列を作ってその内容を適切にセットし、FileOutputStream.write()で書き出せばいいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
大変参考になりました。
最初のデータは3000ビットの00000000……です。
375バイトのbyte配列に値をセットすることにします。
では、例えば、
3000ビット(=375バイト)のbyte配列
もしくは、3000ビット(=375バイト)のinputStreamの
400ビット目をビット反転するというような処理はどのように
実現できますか?

よろしくお願いいたします。

お礼日時:2011/01/14 09:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!