Java ネットワークプ ..
349:デフォルトの名無しさん
06/09/08 09:28:26
InputStream in=con.getInputStream ();
byte[] buf=new byte[1000*1000];
int size=0;
for (int k=0; size<buf.length && (k=in.read())!=-1;)
{
buf[size++]=(byte)k;
}
これはチマチマですが、尻切れぜずにストリーム終わりまで読み込めます。解決策。
>>341
for (;;)
{
int sz=in.read(buf, size, buf.length);
if (size>=buf.length || sz==0 || sz==-1) break;
size+=sz;
}
でも、urlが "URLリンク(www.yahoo.co.jp)などは例外が出ます。
Exception in thread "main" java.lang.IndexOutOfBoundsException
at sun.net.www.http.ChunkedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unkn
own Source)
at Test.main(Test.java:37)
とすると、InputStreamは、int read()ですむのですが、
int read(byte[]), int read(byte[],int,int)は、(どうやって使うかと言うよりも)自分で使うときはどこが使いどころなんでしょうか?
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4983日前に更新/153 KB
担当:undef