Olá galera, desculpe-me se ja existe um tópico desses mas infelizmentenão conseguir encontrar a solução para meu problema.
Estou tentando fazer um download de imagens, mas o problema é que chega no While, o JFrame trava e tentei de outra forma com TIMER, mas o problema eh que parece que o timer não roda junto com o programa. Nao escreve literalmente nada. Vou coloar o código para ajudar.
void baixaArquivo(String _url) {
ActionListener actionListenerT = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
System.out.println(tBytes);
tBytes =0;
}
};
Timer timer = new Timer(1000, actionListenerT);
timer.start();
try {
BufferedInputStream in = new BufferedInputStream(conexao.getInputStream());
String filename="";
filename = "C:/imagem.jpg";
FileOutputStream out = new FileOutputStream(filename);
byte[] buf = new byte[204800]; // pode aumentar um pouco se quiser
while ((nBytes = in.read(buf)) > 0) {
out.write (buf, 0, nBytes);
tBytes += nBytes;
tRec = nBytes;
tTotal += tBytes;
if(tTotal > 1024){
tTotal /= 1024;
tx = tTotal+" KB";
}else{
tx = tTotal+" Bytes";
}
if(tRec > 1024){
tRec /= 1024;
velx = tRec+" KB/s";
}else{
velx = tRec+" B/s";
}
lbVel.setText((tRec) + " KB/s / "+tx+" de "+xTam);
}
out.flush();
out.close();
in.close();
} catch (Exception e) {
timer.stop();
System.out.println("ERRO");
}
}
Se conseguirem identificar o problema agradeço a todos.
Obrigado
