[RESOLVIDO]como deletar um arquivo utilizando java.net.URL?

5 respostas
breffo

…pessoal bom dia,
…observem o código abaixo:

URL	                   url = new URL("http", "192.168.200.253", "8080", "/tmp/teste.txt");
HttpURLConnection  conn = (HttpURLConnection)url.openConnection();
InputStream           is = conn.getInputStream();

…como podem ver eu conecto a um servidor, capturo um determinado arquivo e faço um InputStream do mesmo, ta funcionando blz,
agora to precisando DELETAR esse arquivo remoto, alguém ai tem idéia de como fazer isso ??? pesquisei um pouco no pacote “java.net” mas não encontrei nada que resolvesse meu problema :cry:

…qualquer ajuda é muito bem vinda !!!

5 Respostas

s4nchez

Você pode tentar fazer um request usando método DELETE:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

Neste caso você dependerá da implementação do servidor HTTP que você está usando para saber como uma requesição deste tipo será tratada. Normalmente este tipo de operação é bloqueada para evitar que qualquer cliente tenha permissão de apagar arquivos no servidor.

breffo

…ta, mas como seria essa requisição ??? tem algum exemplo de como fazer isso ???

s4nchez

Você pode começar usando o método setRequestMethod():

http://java.sun.com/j2se/1.4.2/docs/api/java/net/HttpURLConnection.html#setRequestMethod(java.lang.String)

breffo

…so pra constar, consegui resolver aqui … utilizei o HTTPCLIENT da Apcahe http://hc.apache.org/httpclient-3.x/index.html , bem simples:

public static boolean apagarArquivoRemoto(String uriArquivoRemoto) throws IOException {
        HttpClient client = new HttpClient();
        HttpMethod method = new DeleteMethod(uriArquivoRemoto);
        try {
	int statusCode = client.executeMethod(method);
	if (statusCode != HttpStatus.SC_NO_CONTENT) {
	      return false;
	}
	return true;
        }finally {
	// finaliza a conexão
	method.releaseConnection();
        }
}

…espero ter ajudado !!!

s4nchez

Bacana!

Aproveita e muda o título do tópico e inclui um [Resolvido] pra facilitar a vida de quem quiser pesquisar por esse assunto no futuro :wink:

Criado 26 de dezembro de 2007
Ultima resposta 21 de jan. de 2008
Respostas 5
Participantes 2