Метод read()
внутри copyFile()
читает buf.length
байтов из входного потока, а затем записывает их в выходной поток с начала до len
.
public static boolean copyFile(InputStream inputStream, OutputStream out) {
byte buf[] = new byte[1024];
int len;
try {
while ((len = inputStream.read(buf)) != -1) {
out.write(buf, 0, len);
}
out.close();
inputStream.close();
} catch (IOException e) {
return false;
}
return true;
}
Если мы всегдазапись в выходной поток с начала не перезаписывают ли данные предыдущей итерации ?
Разве нам не нужно отслеживать смещение?Например, если первая итерация записала 1024 байта, то вторая итерация должна записать out.write(buf,1024,len);
.