您的位置:首页 > 编程语言 > Java开发

## 用java语言控制ftp服务器上传输和接受文件 ##

2017-02-11 21:03 260 查看

用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;

}

// ftp客户端登陆
public void login() {
try {
// ftp客户端连接ip,返回值是void
ftpClient.connect(ip, port);
// ftp客户端登陆,返回值是布尔
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();
}
;
}

// 把文件传输到ftp上,soureFile要传上去的源文件,putFile传上去的文件命名
public void PutFile(String PutFile, String soureFile) {
try {
// 给我们直接写好了方法,调用就可以了,将源文件抽成流
ftpClient.storeFile(PutFile, new FileInputStream(soureFile));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
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) {
// ftp的端口21
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");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: