Androidでバイナリデータの読み書き

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
shiro4ao
記事: 224
登録日時: 13年前
住所: 広島

Androidでバイナリデータの読み書き

#1

投稿記事 by shiro4ao » 11年前

サーバーから画像をダウンロードして表示する画像ビューワーを作ろうとしています
下記のコードで送られてくるバイナリファイルを1枚受信して
ファイルへ書き出そうとしたのですが出力されたファイルが
ビットマップとして開けるものの、乱れた画像になってしまいました

正しいバイナリデータの受信方法はどうすればいいのでしょうか?

コード:

	            sockin =new BufferedInputStream(connection.getInputStream());	            
	            out = new BufferedOutputStream(openFileOutput("update", MODE_PRIVATE));

	            byte b[] = new byte[1024];
	            int len =0;
	            int size =0;
	            while(len!=-1){
	            	len=sockin.read(b);
	            	out.write(b);		            
	            }


アバター
shiro4ao
記事: 224
登録日時: 13年前
住所: 広島

Re: Androidでバイナリデータの読み書き

#2

投稿記事 by shiro4ao » 11年前

以下のようにファイルをopenFileOutputであけると
画像が乱れずに出力されました
ありがとうございました

コード:

	            sockin =new BufferedInputStream(connection.getInputStream());	            
	            out = openFileOutput("update",MODE_PRIVATE);

	            byte b[] = new byte[5024];
	            int len =0;
	            
	            while(true){
	            	len=sockin.read(b);
	            	if(len==-1)break;
	            	out.write(b,0,len);
	            }
            	out.flush();

閉鎖

“C言語何でも質問掲示板” へ戻る