Duvida em baixar arquivo da internet por java

Ae pessoal, estou tentando fazer um programa que pega uma foto e salva no hd. To com o seguinte condigo

[code]public class Download {

public static void main(String[] args) {

        try{
		
		File file = new File("google.gif");
		OutputStream out = new FileOutputStream(file, false);
		
		URL url = new URL("http://www.google.com.br/intl/pt-BR_br/images/logo.gif");
		URLConnection conn = url.openConnection();
								
		InputStream in = conn.getInputStream();
		
		int i=0;
		while ((i = in.read()) != -1){
			out.write(i);
		}
		in.close();
		out.close();
		System.out.println("Gravação efetuada com sucesso");
														
	}
	
	catch (FileNotFoundException e){
		System.out.println("Arquivo não encontrado. Causa: " + e.getMessage());
	}
	catch (MalformedURLException e){
		System.out.println("Erro na formação da URL. Causa: " + e.getMessage()); 
	}
	catch (IOException e){
		System.out.println("Erro de entrada/saida de dados. Causa: " + e.getMessage());
	}	

}

}
[/code]
Peguei esse codigo praticamente pronto da apostila da faculdade, mas o codigo nao funciona. Parece que quando entra no loop para ler o arquivo ele fica pedindo entrada de dados no console. E não para, o arquivo não é baixado e o console fica pedindo entrada de valor. Alguem pode me ajudar nisso ?
vlw.

Rodei seu código aqui e funcionou sem problemas…

Pode ser alguma coisa aí com seu ambiente. Tente rodar em outra máquina só pra garantir.

Falow

Descobri o problema. Mas ainda preciso de ajuda hehe.
Seguinte.
Quando rodei aqui em casa o firewall acuso ae eu permiti e funcionou.
Agora fica a duvida.
Como fazer funcionar em redes que tenham firewall ou sei la por configuração de proxy talvez não ?