Witam.
Na początek dam trochę kodu:
void download_patch(String fileAddress, String localFileName) {
OutputStream os = null; URLConnection URLConn = null; InputStream is = null;
try {
URL fileUrl = new URL(fileAddress);
byte[] buf = new byte[1024]; int ByteRead;
os = new BufferedOutputStream(new FileOutputStream(localFileName));
URLConn = fileUrl.openConnection();
is = URLConn.getInputStream();
while ((ByteRead = is.read(buf)) != -1) {os.write(buf,0,ByteRead);}
}catch (Exception e) {
}finally {try {
is.close();
os.close();
} catch (IOException e) {}}
}
Jak widać, metoda służy do pobrania oraz zapisania pliku z sieci.
Pytanie: macie jakiś pomysł na obliczanie postępu pobierania? Myślałem o rozwiązaniu typu: co pętlę while ((ByteRead = is.read(buf)) != -1) {os.write(buf,0,ByteRead);}
doliczać wartość ByteRead
do jakiejś stworzonej zmiennej i porównywać z całkowitą wagą pobieranego pliku, jednak nie wiem i mam problem ze znalezieniem informacji odnośnie tego, jak sprawdzić rozmiar pobieranego pliku (już na etapie samego startu pobierania).