FileOutputStream: O método "close" também chama "flush"?
Estou realmente confuso sobre o método flush and close. No meu código, eu sempre fecho meuFileOutputStream
objeto. Mas eu quero saber que se eu tiver que usar o método flush aqui e onde posso usá-lo?
Escreverei um projeto que baixe 4 ou 5 arquivos repetidamente. Vou escrever um método (para baixar arquivos) e meu método estará em um loop e baixarei arquivos repetidamente. Meu método terá um código como este.
Oclose
chamadas de métodoflush
ou preciso usar o flush antes de fechar?
try {
InputStream inputStream = con.getInputStream();
FileOutputStream outputStream = new FileOutputStream("C:\\programs\\TRYFILE.csv");
int bytesRead = -1;
byte[] buffer = new byte[4096];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
} catch(Exception e) {
//
} finally {
outputStream.close();
inputStream.close();
}
Observe que o código funciona bem: ele baixa o arquivo com sucesso. Mas não tenho certeza sobre o usoflush
.