urizakaです

Byte配列に入力されたデータをInputStreamに入力する方法ってどうやるんでしたっけ?
すみません、宜しくお願いします。

A 回答 (1件)

??


そのまんまの名前の java.io.ByteArrayInputStream ってクラスがありますが。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q入力データ数を入力して、その数だけ整数値を入力し配列を格納した後、入力

入力データ数を入力して、その数だけ整数値を入力し配列を格納した後、入力した値を横に表示するプログラムを下記に作成したのですが、思う通りに表示されません。初期化しても最後の値になるし、なぜでしょうか?
import java.io.*;

class Hairetu1
{
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.print("データはいくつですか?");
String str = br.readLine();
int num = Integer.parseInt(str);

int a[]=new int[num];
int i,tmp=0;

for(i=0; i<a.length; i++){
System.out.print((i+1)+"番目は?");
str = br.readLine();
tmp = Integer.parseInt(str);
a[i] = tmp;
}
for(i=0; i<a.length; i++){
System.out.print("入力した値は"+tmp+"\t");
}

入力データ数を入力して、その数だけ整数値を入力し配列を格納した後、入力した値を横に表示するプログラムを下記に作成したのですが、思う通りに表示されません。初期化しても最後の値になるし、なぜでしょうか?
import java.io.*;

class Hairetu1
{
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.print("データはいくつですか?");
String str = br.readLine();
int num = Integer.parseInt(str);

int...続きを読む

Aベストアンサー

System.out.print( "入力した値は" + a[i] + "\t" );

Qint配列をbyte配列に変換

MIDPアプリを作成している初心者です。

Image データを一旦端末のレコードストアに保存しておく為、
getRGB()で取得したint配列を、byte配列に変換しなくてはいけません。

↓のように レコードストアに書き込むメソッドを書いてみました。
public void writeRecordStore( String name, Image image ) {
    int width = image.getWidth();
    int height = image.getHeight();
    int[] pxData = new int[ width*height ];
    byte[] byteData;
    RecordStore rs = null;

    try {
        //画像をバイトデータに変換
        image.getRGB( pxData, 0, width, 0, 0, width, height );
        //レコードストアを開く
        rs = RecordStore.openRecordStore( name, true );

        //バイト配列に変換 ← ここがわからない
        
        //レコードの追加
        rs.addRecord( byteData, 0, byteData.length );
        
    } catch( Exception e ) {
    }
}

int配列をbyte配列に変換する方法わかる方 ご教授の程お願いします。

また、まだコーディングに自信が無いので、文法のミスもご指摘頂けたらありがたいです。

MIDPアプリを作成している初心者です。

Image データを一旦端末のレコードストアに保存しておく為、
getRGB()で取得したint配列を、byte配列に変換しなくてはいけません。

↓のように レコードストアに書き込むメソッドを書いてみました。
public void writeRecordStore( String name, Image image ) {
    int width = image.getWidth();
    int height = image.getHeight();
    int[] pxData = new int[ width*height ];
    byte[] byteData;
    RecordStore rs = null;
...続きを読む

Aベストアンサー

> intの16~23ビットに赤、8~15ビットに青、0~7ビットに緑が入っている
> という理由だそうです。
> これは間違っていると思われますか?

残念ながら、赤・青・緑の24ビットだけでは不完全です。
MIDPのImage.getRGB()は、24~31ビット目に透明度(α値)の情報を入れて返すからです。

Qファイルの1行のデータをbyte単位でストリング配列に書き込みたい

こんばんは。お世話になります。

ファイルに固定長のデータがあります。1行につき20件位あります。
データは固定長なので、行が変わってもデータの項目名は変わりません。最終的には、このデータをDBに入れます。

CSVファイルだと、カンマで区切ってあるので、データを分けることが出来るのですが、固定長のデータはどういう方法で、区切るのでしょうか?

誰か分かる方は教えてください。よろしくお願いします。

Aベストアンサー

コンストラクタに
String(byte[] bytes, int offset, int length)
と言うのがありますがこれを使えばすむ話ではないのですか?

QInputStreamにたまったデータを消す方法

InputStreamにたまったデータを消す方法
私は現在勉強のためにsocketプログラミングをJavaでしているのですが困った事があります。それはInputStreamからreadでデータを読み込んでも、読み込んだデータはStream内に消えずに残っているため、処理が複雑になってしまいます。何かflushのようなstreamにたまったデータを吐き出すメソッドはないのでしょうか?

Aベストアンサー

ANo.1の者です。

> inStream.read(readByte, 0, 100);

read()の返り値をチェックしていないのが気になります。
おそらくですが、2回目のread()では1バイトも読み込んでいないのでreadByte[]の内容が変わっていないのではないでしょうか。
↓このようにしたらどうなりますか?

n = inStream.read(readByte, 0, readByte.length);
System.out.println("n = " + n);
for(int i = 0;i < n;i++)
{
System.out.println("readByte" + i + " = " + readByte[i]);
}

Qbyte配列をImageに変換する

現在Javaでネットワーク越しに画像データを送るプログラムを書いているのですが、byte配列に変換した画像データを、元の画像データに戻せなくて困っています。
もう少しプログラムよりにかくと、BufferdImageをbyte[]には変換できますが、逆ができません。
何かよい方法はないのでしょうか?お返事お待ちしております。

Aベストアンサー

画像フォーマットに詳しくないし、実験するのが面倒くさかったのでやらず。
ある程度の力があれば理解できると思うのでまぁいいや。

以下のコードを見てください。OutputStreamに入力したものがInputStream側で取り出せていますよね?

http://ideone.com/DqOFW

それさえわかれば、一撃でしょう。多分。
http://download.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html#read%28javax.imageio.stream.ImageInputStream%29

#もっと簡単にできる手はあるかも。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報