★★Java質問・相談スレッド143★★
■ このスレッドは過去ログ倉庫に格納されています
0486デフォルトの名無しさん
2011/02/24(木) 22:12:22.55意地でも byte[] buffer の長さまで読み込むプログラムを書いたのですが、
美しくないです。
どうにか美しくできないでしょうか?
InputStream in = socket.getInputStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024 * 1024];
int read = 0;
int readInBuffer = 0;
while (true) {
read = in.read(buffer, readInBuffer, buffer.length - readInBuffer);
if (read == -1) {
if (readInBuffer == 0) {
break;
} else {
read = buffer.length - readInBuffer;
}
} else if ((readInBuffer + read) != buffer.length) {
readInBuffer += read;
continue;
} else {
readInBuffer += read;
}
bout.write(buff, 0, readInBuffer);
read = 0;
readInBuffer = 0;
}
■ このスレッドは過去ログ倉庫に格納されています