Originariamente inviato da Josten
ragazzi mi fate un esempio di come usarlo?
inoltre considerando che il file da prendere peserà sui 80 kb ... quanto sarebbe il buffer ideale da usare?
La dimensione può essere qualunque... si preferiscono, chiaramente, i multipli di 2 (in generale, multipli di 1024 byte = 1K).
Un esempio basilare come se ne trovano a centinaia su Internet:
codice:
InputStream is = null;
FileOutputStream fos = null;
try {
// Ottengo l'InputStream della risorsa dentro il JAR
is = getClass().getResourceAsStream("...");
// Apro il file di output
fos = new FileOutputStream("...");
// creo il buffer + tutte le variabili necessarie ai controlli
byte[] buffer = new byte[4096]; // 4KB vedi tu...
int byteLetti = 0;
// Leggo dallo stream
while((byteLetti = is.read(buffer)) >= 0) {
// scrivo i dati letti sul file
fos.write(buffer, 0, byteLetti);
}
// Flusho
fos.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
// Chiusura di tutti gli streams
if (is != null) {
try { is.close(); } catch (Exception e) { }
}
if (fos != null) {
try { fos.close(); } catch (Exception e) { }
}
}
Ciao.