Pessoal, gostaria de perguntar se é possível com o Java enviar um arquivo de um pc para outro fora da rede local, Ou fazer upload em algum servidor temporário e buscar o dado por outro pc.
Grato pela atenção!
Sim, é possível…
Com a programação tudo é possível. Continue buscando que vai encontrar uma forma. Não e muito complicado…
Pow galera, desculpem-me, mas por favor, vamos ser mais gentis.
Então @Eduardo_Almeida, tem muitas formas de fazer isso, uma seria via socket, via REST ou SOAP (array de bytes), via FTP, via upload em uma página conforme disse… etc…
Precisa definir primeiro o seu ambiente.
Depois procure por “Java send file REST/SOAP/SOCKET/FTP…ETC…”
Qualquer coisa poste aqui.
Olá @Eduardo_Almeida é sim possível, você pode obter isso com algo chamado Sockets TCP e algumas classes de IO como FileInputStream(para ler o arquivo do computador), FileOutputStream (para escrever o arquivo no computador), DataInputStream (para receber os bytes do “dos” para o cliente) e DataOutputStream (para enviar os bytes do “fis”).
Aqui está um pequeno exemplo de cliente que envia para o servidor:
public static void main(String[] args) {
Socket s = new Socket("hostname-do-server", 25567); //Voce pode mudar a porta a vontade, mas observe se a mesma ja nao esta sendo utilizada por outro processo!
FileInputStream fis = new FileInputStream(new File("arquivo.txt");
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
//Esse é o metodo mais recomendado para copiar uma stream em java, utilize sempre que possivel!
byte[] buffer = new byte[1024];
int count;
while((count = fis.read(buffer)) > 0) {
dos.write(buffer, 0, count);
dos.flush(); //Isso é muito importante para nao dar BufferOverflow no cliente!
}
fis.close();
dos.close();
s.close();
}
@RenanRosa Me parece que tem varias possibilidades, dei uma lida em alguns tópicos relacionados a sua sugestão, tem bastante coisa ! Gostaria de agradecer pela resposta ^^
É que eu automatizei um trabalho que faço e gostaria de receber o ‘‘relatório’’ regularmente mas sem precisar ficar indo na estação, atualmente ele escreve esse ‘‘relatório’’ em um txt, eu só gostaria de recebe-lo pelo meu notebook.
@Mint Muuito obrigado, agora sei por onde começar minha pesquisa ! na realidade não é tanta coisa quanto imaginei que seria kkkk
Eu só tenho uma duvida em relação ao código, eu fiz a pergunta no intuito de receber uns relatórios automaticamente pelo meu notebook, se eu alterar o Nome/Descrição do notebook ( la nas configurações remotas ) serve como hostname para colocar no argumento do socket ?
Se você estiver em rede local basta abrir as portas do roteador e nofirewall dos dois computadores e utilizar seus IPs internos da rede.