0

このコードを使用してファイルに書き込むと、スローされIndexOutOfBoundExceptionます。

InputStream is = res.openStream();
FileOutputStream fos = new FileOutputStream(file);
byte[] array = new byte[1024];
for(int i = is.read(array); i != 1; i=is.read(array)) {
        fos.write(array, 0, i);
}

残りの書き込みバイト数を確認するにはどうすればよいですか?

4

1 に答える 1

3

読み取るものが何もない場合、readメソッドは-1and not を返します1。したがって、ループのチェックは次のようにする必要があります。

for(int i = is.read(array); i != -1; i=is.read(array))
于 2013-10-23T09:37:16.630 に答える