| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 17:47:52
|
nathanpc
JavaTeenager
Membro desde: 01/04/2009 16:23:58
Mensagens: 180
Localização: Vitória/ES
Offline
|
Olá,
Alguem poderia me ajudar, porque eu estou querendo fazer um programa que o usuário final poderia digitar uma URL para um arquivo tipo: "http://www.site.com.br/java/File.zip". Lembrando que eu sou meio que iniciante.
Obrigado,
Nathan Paulino Campos
|
Eee PC 904HD | Ubuntu Intrepid Ibex | 1 GB RAM | 80 GB HD | Twitter | Facebook | Orkut | Blog
ICQ: 424738586
Skype: ubuntu-nathan
Google Talk: eeepc904@gmail.com
YIM: nathanpc@ymail.com
AIM: nathanjava
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 18:38:50
|
mcbrain
Thread.start()
Membro desde: 01/06/2009 17:51:25
Mensagens: 34
Localização: Imaginário
Offline
|
Olá nathanpc. Vou apresentar um método pronto (bem simples) que você pode utilizar para gravar arquivos a partir de uma URL.
Espero que tenha ajudado. Isto não é exatamente java avançado, e algumas buscas no Google poderiam ter lhe ajudado bastante, pois vários sites oferecem snippets prontos com várias maneiras de executar tarefas corriqueiras como esta.
Veja a descrição das classes e métodos utilizados neste exemplo na especificação da API do Java, e você irá entender exatamente o que o programa faz. Lembre-se que a melhor maneira de aprender é experimentando!
--mcbrain
|
Aut dosce, aut disce, aut discede. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 18:52:14
|
nathanpc
JavaTeenager
Membro desde: 01/04/2009 16:23:58
Mensagens: 180
Localização: Vitória/ES
Offline
|
Olá mcbrain,
Obrigado pelo código, eu o compilo e dá tudo certo, mas quando eu vou executar o arquivo class, ele me volta esse erro:
Obrigado,
Nathan Paulino Campos
|
Eee PC 904HD | Ubuntu Intrepid Ibex | 1 GB RAM | 80 GB HD | Twitter | Facebook | Orkut | Blog
ICQ: 424738586
Skype: ubuntu-nathan
Google Talk: eeepc904@gmail.com
YIM: nathanpc@ymail.com
AIM: nathanjava
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 18:59:49
|
mcbrain
Thread.start()
Membro desde: 01/06/2009 17:51:25
Mensagens: 34
Localização: Imaginário
Offline
|
nathanpc wrote:Olá mcbrain,
Obrigado pelo código, eu o compilo e dá tudo certo, mas quando eu vou executar o arquivo class, ele me volta esse erro:
Obrigado,
Nathan Paulino Campos
Ah, Nathan, já deu pra ver que você é novo no Java mesmo!
Para que um arquivo java compilado possa ser executado, ele precisa de um ponto de entrada, o método "main()".
Coloque o seguinte método antes ou depois do método estático gravaArquivoDeURL() na classe que você está usando, recompile e execute.
Este exemplo irá gravar a página de índice do Google na raiz do seu PC. Pra não perder a viagem, dê uma olhada nos tutoriais da Sun sobre o Java. Uma vez que você domine os conceitos básicos, vai ficar muito mais fácil criar seus próprios programas. Abraços!
-- mcbrain
|
Aut dosce, aut disce, aut discede. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 19:06:33
|
nathanpc
JavaTeenager
Membro desde: 01/04/2009 16:23:58
Mensagens: 180
Localização: Vitória/ES
Offline
|
Muito Obrigado mcbrain, mas sem querer ser muito pidão você poderia me dizer se da para que o usuário digitase a URL para o arquivo, só para melhorar o programa e já saber para mais tarde se eu precisar. Mas Muito Muito Obrigado, Nathan Paulino Campos
This message was edited 1 time. Last update was at 01/06/2009 19:07:54
|
Eee PC 904HD | Ubuntu Intrepid Ibex | 1 GB RAM | 80 GB HD | Twitter | Facebook | Orkut | Blog
ICQ: 424738586
Skype: ubuntu-nathan
Google Talk: eeepc904@gmail.com
YIM: nathanpc@ymail.com
AIM: nathanjava
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 19:27:13
|
mcbrain
Thread.start()
Membro desde: 01/06/2009 17:51:25
Mensagens: 34
Localização: Imaginário
Offline
|
A forma mais simples é passar a URL como argumento do programa, e já que vamos fazer isso, também passar o path de destino da gravação.
Seu método main, portanto, deverá aceitar 2 argumentos. Veja que ele tem apenas um parâmetro: um array de Strings chamado args. Isto é fixado pela especificação da linguagem Java. A JVM irá encaspular cada argumento da chamada do programa em uma String do parâmetro args, que podem ser referenciados e manipulados dentro do programa. Para usar vários argumentos na chamada do programa, separe-os por um espaço.
Altere o seu método main para o seguinte:
Após compilado o programa, chame-o com o comando:
java FileDownload http://www.google.com/index.html c:\
[]s
--mcbrain
This message was edited 1 time. Last update was at 01/06/2009 19:31:47
|
Aut dosce, aut disce, aut discede. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 19:29:44
|
nathanpc
JavaTeenager
Membro desde: 01/04/2009 16:23:58
Mensagens: 180
Localização: Vitória/ES
Offline
|
Muito obrigado mcbrain, muito obrigado mesmo.
Abraços!!
|
Eee PC 904HD | Ubuntu Intrepid Ibex | 1 GB RAM | 80 GB HD | Twitter | Facebook | Orkut | Blog
ICQ: 424738586
Skype: ubuntu-nathan
Google Talk: eeepc904@gmail.com
YIM: nathanpc@ymail.com
AIM: nathanjava
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2009 17:07:36
|
Neri J?ior
What is classpath?
Membro desde: 08/03/2009 16:15:09
Mensagens: 7
Localização: Curitiba - PR
Offline
|
Desculpe minha ignorancia, estou a horas tentando fazer com o Buffered mas não esta indo de jeito nenhum!
Alguem poderia me dar uma ideia de como seria?
Obrigado.
#Edit
Se não fosse pedir muito, como eu pego o nome do arquivo que esta vindo pelo InputStream? Thanks!
This message was edited 1 time. Last update was at 18/06/2009 18:51:04
|
Neri Júnior - Neri Júnior - Design e Desenvolvimento
CEO da LSystems Softwares |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 09:44:53
|
mcbrain
Thread.start()
Membro desde: 01/06/2009 17:51:25
Mensagens: 34
Localização: Imaginário
Offline
|
Neri J?ior wrote:Desculpe minha ignorancia, estou a horas tentando fazer com o Buffered mas não esta indo de jeito nenhum!
Alguem poderia me dar uma ideia de como seria?
Obrigado.
#Edit
Se não fosse pedir muito, como eu pego o nome do arquivo que esta vindo pelo InputStream? Thanks!
Um dos construtores do BufferedWriter recebe um Writer, e um int com o tamanho do buffer como argumentos. Se você estiver escrevendo em um arquivo, pode usar um FileWriter, que por sua vez pode receber um objeto File como argumento no construtor:
Depois é só usar o método write() do BufferedWriter e sucesso.
Edit: gramática.
This message was edited 1 time. Last update was at 19/06/2009 09:45:46
|
Aut dosce, aut disce, aut discede. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 12:16:28
|
Neri J?ior
What is classpath?
Membro desde: 08/03/2009 16:15:09
Mensagens: 7
Localização: Curitiba - PR
Offline
|
Muito Obrigado!
|
Neri Júnior - Neri Júnior - Design e Desenvolvimento
CEO da LSystems Softwares |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2010 17:21:43
|
saint_muniz
HelloWorld
Membro desde: 16/06/2009 12:24:26
Mensagens: 10
Offline
|
Olá a todos, estou precisando de uma ajuda.
Estou utilizando a seguinte classe para fazer o download de um arquivo via FTP:
TesteDownloadArquivoExcel
Ao executar o metodo "con.getInputStream()" estou recebendo uma Exception: "java.net.SocketException: Connection reset"
Alguém poderia me dizer o que estou fazendo de errado?
Desde já grato pela atenção.
|
At,
Saint Clair
Técnico em Informática |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2010 21:04:23
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
FTP é um protocolo. Para que você baixe o arquivo você precisa fazer a requisição (assim como em HTTP, quando você faz um GET ou um POST).
Não basta tentar baixar diretamente. A Apache tem uma API para trabalhar com FTP, talvez seja melhor procurar sobre ela.
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2010 08:56:28
|
saint_muniz
HelloWorld
Membro desde: 16/06/2009 12:24:26
Mensagens: 10
Offline
|
Ainda estou tendo problemas, dei uma olhada na documentação "org.apache.commons.net.ftp.FTPClient", mas ainda está ocorrendo a SocketException.
Modifiquei o codigo do método da classe.
O método de verifcação de HOST já ativei e desativei e continua o problema.
Alguém poderia me ajudar com esse código?
Por favor...
|
At,
Saint Clair
Técnico em Informática |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/02/2010 13:54:33
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
3 coisas:
1. Você tem certeza que o servidor está OK? Você consegue resgatar esse arquivo se você abrir a linha de comando e se conectar ao servidor?
2. Em que linha exatamente está ocorrendo a exceção?
3. O FTPClient já está em modo passivo por padrão? Se não estiver, deve estar.
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2010 09:51:33
|
saint_muniz
HelloWorld
Membro desde: 16/06/2009 12:24:26
Mensagens: 10
Offline
|
marcobiscaro2112 wrote:3 coisas:
1. Você tem certeza que o servidor está OK? Você consegue resgatar esse arquivo se você abrir a linha de comando e se conectar ao servidor?
2. Em que linha exatamente está ocorrendo a exceção?
3. O FTPClient já está em modo passivo por padrão? Se não estiver, deve estar.
Resposta:
1 - A linha do código de demonstração verifica se conectou corretamente. Em debug verifiquei se estava conectando corretamente. Tudo OK.
2 - Na linha 22 está ocorrendo SocketException.
3 - Sim está por default.
Usei uma solução um tanto quanto grosseira.
Como meu servidor de aplicativo fica em LINUX, usei o Runtime.getRuntime().exec("Comando a ser executado"), usando o wget passando a url de conexão com o FTP.
Funcionou mas tive de criar um método para ler o arquivo excel, sendo que tive de temporizar para dar tempo do download ser concluido.
Mas fica o meu problema porque eu acho que isso não é um funcionamento normal.
|
At,
Saint Clair
Técnico em Informática |
|
|
 |
|
|