FTP no Java.
Eu estou usando FTP para fazer o download de um arquivo do servidor para o meu PC através do meu programa, até aí tudo bem, o problema é que ele só funciona quando eu executo ele pela IDE.
segue abaixo meu código:
segue abaixo meu código:
package classesPrincipais;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.swing.JOptionPane;
import org.apache.commons.net.PrintCommandListener;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
/**
* @author U@O Corporation <suporte@uaocorporation.com.br>
*/
public class FTPConnect {
public static FTPClient ftp = null;
public FTPConnect(String host, String user, String pwd) throws Exception {
JOptionPane.showMessageDialog(null, "Entrou no FTP");
ftp = new FTPClient();
ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
int reply;
ftp.connect(host);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
throw new Exception("Exception in connecting to FTP Server");
}
ftp.login(user, pwd);
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();
JOptionPane.showMessageDialog(null, "Saiu no FTP");
}
public void downloadFile(String remoteFilePath, String localFilePath) {
JOptionPane.showMessageDialog(null, "Tentando Download no FTP");
try {
OutputStream output = new FileOutputStream(localFilePath);
JOptionPane.showMessageDialog(null, "FTP");
ftp.retrieveFile(remoteFilePath, output);
} catch (IOException e) {
System.out.println("Erro ao baixar: " + e);
}
JOptionPane.showMessageDialog(null, "Saiu");
}
public void disconnect() {
if (ftp.isConnected()) {
try {
ftp.logout();
ftp.disconnect();
} catch (IOException f) {
// do nothing as file is already downloaded from FTP server
}
}
}
public static void main(String FTPHost, String FTPUser, String FTPPassword,
String FTPEndereco, String FTPLocal) {
try {
FTPConnect ftpDownloader = new FTPConnect(FTPHost, FTPUser, FTPPassword);
ftpDownloader.downloadFile(FTPEndereco, FTPLocal);
System.out.println("FTP File downloaded successfully");
ftpDownloader.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
João Queiroz
Curtidas 0