Como pegar um arquivo passando uma url

Olá,

Preciso ler um xml através de uma url (Ex. http://nada_server.nada.com.br/servico/arquivo.xml).

Já tentei usar vários exemplos que encontrei aqui no forum mas não obtive sucesso, sempre tomo o seguinte erro:

java.net.ConnectException: Operation timed out: connect
void java.net.PlainSocketImpl.socketConnect(java.net.InetAddress, int)
native code
void java.net.PlainSocketImpl.doConnect(java.net.InetAddress, int)
PlainSocketImpl.java:355

Alguma sugestão? Qual classe devo usar… No meu ultimo teste usei o seguinte código:

URL url;
url=new URL(“http://nada_server.nada.com.br/servico/arquivo.xml”);
URLConnection uc = url.openConnection();
DataInputStream input = new DataInputStream(uc.getInputStream());

Obs. Minha url não possui "www’, isso implica em alguma coisa?

Ja tentou: http://www.guj.com.br/posts/list/0/28264.java#153120

Tenta isso:

private String loadUrl(String host) throws Exception {
	System.out.println("Opening " + host);

	StringBuffer sb = new StringBuffer();

	URL url = new URL(host);
	URLConnection conn = url.openConnection();

	InputStream is = conn.getInputStream();
	byte[] b = new byte[4096];
	int c = 0;

	while ((c = is.read(b)) != -1) {
		sb.append(new String(b, 0, c));
	}

	is.close();

	return sb.toString();
}

O http://jakarta.apache.org/commons/httpclient pode lhe ser muito util tambem.

Rafael

[quote=Rafael Steil]Tenta isso:

private String loadUrl(String host) throws Exception {
	System.out.println("Opening " + host);

	StringBuffer sb = new StringBuffer();

	URL url = new URL(host);
	URLConnection conn = url.openConnection();

	InputStream is = conn.getInputStream();
	byte[] b = new byte[4096];
	int c = 0;

	while ((c = is.read(b)) != -1) {
		sb.append(new String(b, 0, c));
	}

	is.close();

	return sb.toString();
}

O http://jakarta.apache.org/commons/httpclient pode lhe ser muito util tambem.

Rafael[/quote]

Não seria mais fácil usar um BufferedInputStream e ler linha por linha?