| |
|
 |
F?rum |
 |
|
| |
|
adittrich |
03/04/2002 - 19:35 |
| Ftp Client em java |
Mensagem: 1 de 2 |
|
Procurei alguma coisa sobre como enviar uma mensagem via ftp com java e encontrei com certa frequência soluções baseadas no pacote sun.net.ftp.* , segue abaixo o código em em seguida o erro que ocorre (juro que o arquivo tmp.txt existe e está no diretório corrente, estou executando com usuário root e tenho permissão (executei chmod 777 tmp.txt) :
import sun.net.ftp.*;
import java.io.*;
public class MyFTP
{
public static void main(String args[])
throws IOException
{
FtpClient ftp = new FtpClient("ip do servidor");
ftp.login("usuário","senha");
ftp.put("tmp.txt");
}
}
Exception in thread "main" java.io.FileNotFoundException: STOR tmp.txt: 550 tmp.
txt: Access is denied.
at sun.net.ftp.FtpClient.readReply(FtpClient.java:195)
at sun.net.ftp.FtpClient.issueCommand(FtpClient.java:165)
at sun.net.ftp.FtpClient.openDataConnection(FtpClient.java:227)
at sun.net.ftp.FtpClient.put(FtpClient.java:353)
at MyFTP.putFile(MyFTP.java:14)
at MyFTP.main(MyFTP.java:20)
P.S.: Se alguém encontrar documentação sobre as classes do pacote sun.net.* , me informem a origem pois procurei e não encontrei.
|
| |
|
mvsantos |
07/04/2002 - 16:06 |
| Re: Ftp Client em java |
Mensagem: 2 de 2 |
|
Caro Dittrich :
Existe algumas formas de se utilizar a classe FtpClient.
O código a seguir é uma forma de resolver o seu problema...
Abraço,
Marcus
import java.io.*;
import sun.net.ftp.FtpClient;
import java.net.*;
public class MyFTP extends FtpClient
{
public static void main(String args[]) throws Exception
{
File arquivo = new File("tmp.txt");
FTPout ftp = null;
try
{
ftp = new FTPout("endereço IP");
}catch(IOException e)
{ System.out.println(e.getMessage());
}
ftp.login("usuario","senha");
ftp.uploadArquivo(arquivo);
}
public FTPout(String str) throws IOException
{
super(str);
}
public void uploadArquivo(File arq)
{
BufferedReader bReader = null;
try{
bReader = new BufferedReader(new FileReader(arq));
Socket s = openDataConnection("STOR "+arq.getName());
OutputStream out = s.getOutputStream();
PrintStream myStream = new PrintStream(out);
String tmp = "";
while((tmp=bReader.readLine())!=null)
myStream.println(tmp);
out.close();
myStream.close();
bReader.close();
}
catch(IOException e)
{
System.out.println(e);
}
}
}
|
|
|
|
|
|