CLDC+MIDP+携帯電話用Javaスレッド part 5
■ このスレッドは過去ログ倉庫に格納されています
0496デフォルトの名無しさん
2006/02/24(金) 13:25:02HttpConnection conn = (HttpConnection)Connector.open(url);
conn.setRequestMethod(HttpConnection.GET);
InputStream is = conn.openInputStream();
int length = (int)conn.getLength(); //lengthが大きい場合
byte[] b = new byte[length];
is.read(b);
このように通信すると、getLength()で取れた値が大きい場合(例えば20K)
通信でエラーはでないのですが、
実際のバイト値を表示してみると、1K位までしか取得できていなく、
それ以降は、すべて0で埋まっています。
でも、、
byte[] buf = new byte[1024];
baos = new ByteArrayOutputStream();
int len = 0;
while((len = is.read(buf)) != -1){
baos.write(buf, 0, len);
}
このような感じで1Kづつ読み込むと全部取得できました。
InputStreamから一気に読み取ってはダメなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています