2012-02-04 16 views
0

Android:アンドロイドイメージをバイト配列とイメージの最後のバイトに読み取る

私は2つのバイト配列を1バイト配列のビットマップと別のバイト配列の文字列を持っています。 私はこれらの2バイト配列を3番目のものに結合しました。

私は3バイト配列をストレージに書きます。

画像と文字列の結合バイト配列から作成された画像を読むと、画像のバイトがどこで終わり、文字列のバイトが始まるかをバイト[]で知りたいと思います。

イメージバイトのバイトのバイト表現がわかりますか?または文字列バイトの開始?

ありがとうございます。

答えて

1

バイト配列を書き出す前に、イメージ部分の長さを書き出す必要があります。そうすれば、読み込むデータ量を知ることができます。だからあなたのファイルには、次のようになります。

  • (おそらく4バイト、 - 簡単にするためにDataOutputStreamを使用)、画像の長さはさておき、私はよう
  • 画像データ
  • テキストデータ

を(あなたは明示的にUTF-8としてテキストデータを書いて、それをUTF-8として読むことを提案するか、ちょうどDataOutputStream.writeUTFDataInputStream.readUTFを使うことができます...)

+0

最初の4バイトは、イメージの長さldsしかし、最初の4バイトNULLポインタ例外のためにディスクに書き込もうとしたとき イメージを挿入するにはこのメソッドを呼び出します。MediaStore.Images.Media.insertImage –

+0

@Faisalkhan:おそらくあなたはどこかでヌル参照を持っていますしかし、それだけでは分かりにくいです。関連するすべてのコードで新しい質問を開始する必要があります。 –