- 355 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 13:47:45 ]
- >>311
>java.net.URLConnection con=url.openConnection(); >InputStream input=con.getInputStream(); >byte[] buffer=new byte[1000*1000]; >int size=input.read(buffer); >String data=new String(buffer, 0, size); このコードが、「(1000*1000バイトから溢れない範囲で、)ストリームの終わりまで読め」 っていう意味では無いことは理解してる? まぁ、理解してないから、 >>331 >クライアント側に失敗となる節が無いのに、 >結果が途中で尻切れになる原因が問題なのです。 なんて、頓珍漢なこと言ってるんだろうけど。 クライアント側で、「尻切れでいいよ」っていう意味のプログラム(>>311)書いてるのに、 尻切れにならない理由がない。もちろん、常に尻切れになるって意味ではない。 > int InputStream.read(byte[],int,int)は結局どのあたりで使うのだろう・・ そりゃ、>>353の前半よりも、>>354の方が効率が良いからだろ。 動作速度無視、動けば良い、というのだったら、int InputStream#read()だけで足りる。 byte[]、char[]云々は、 >>316 の > Reader input=new InputStreamReader(con.getInputStream()); > とやると、全部読み込めるようなので、 を受けて。それで仮に読みこめたとしても、元のコードで読みたかったものとは違うものになる、って意味。 ああ、でも最終的に >String data=new String(buffer, 0, size); とStringにしたいのか。なら、問題無い。
|

|