用java语言控制ftp服务器上传输和接受文件
- 我们先从网上下载一个专门的jar包(commons-net-3.5。jar),用于ftp服务器传输和接受文件。
- 在新建的项目中,先拖入jar包,点击左键,bulid path里面configure buildpath
- 在将commons.jar正式导入环境,如图上的步骤
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.SocketException;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.util.Scanner;
import org.apache.commons.net.ftp.FTPClient;
public class FtpTransmitFile {
private FTPClient ftpClient = null;
private int port = 0;
private String ip = null;
private String username = null;
private String password = null;
public FtpTransmitFile(String ip, int port, String username, String password) {
ftpClient = new FTPClient();
this.port = port;
this.ip = ip;
this.username = username;
this.password = password;
}
public void login() {
try {
ftpClient.connect(ip, port);
boolean b1 = ftpClient.login(username, password);
ftpClient.setCharset(Charset.forName("UTF-8"));
System.out.println(b1);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
;
}
public void PutFile(String PutFile, String soureFile) {
try {
ftpClient.storeFile(PutFile, new FileInputStream(soureFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void getFile(String sourceFile, String getFile) {
try {
ftpClient.retrieveFile(sourceFile, new FileOutputStream(getFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
FtpTransmitFile ftp = new FtpTransmitFile("192.168.20.111", 21, "ms", "ms");
ftp.login();
ftp.PutFile("h.jar", "commons-net-3.5.jar");
ftp.getFile("jsoup-1.10.2.jar", "1.jar");
}
}