Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.baltinfo.radius.ftp;
- import org.junit.Test;
- import java.io.IOException;
- import java.util.List;
- public class FtpClientTest {
- private FtpClient ftpClient;
- @Test
- public void test() throws IOException {
- ftpClient = new FtpClient("77.221.130.27", 21, "z102795_asv","i846f2HsPF");
- //ftpClient = new FtpClient("72.163.7.54", 21, "anonymous","i846f2HsPF");
- ftpClient.open();
- List<String> files = ftpClient.listFiles("");
- for(String file : files) {
- ftpClient.downloadFile(file, "TEST" + file);
- }
- ftpClient.close();
- return;
- }
- }
- package com.baltinfo.radius.ftp;
- 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.FTPFile;
- import org.apache.commons.net.ftp.FTPReply;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
- public class FtpClient {
- private String server;
- private int port;
- private String user;
- private String password;
- private FTPClient ftpClient;
- FtpClient(String server, int port, String user, String password) {
- this.server = server;
- this.port = port;
- this.user = user;
- this.password = password;
- this.ftpClient = new FTPClient();
- }
- public void open() throws IOException {
- //ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
- ftpClient.connect(server, port);
- int reply = ftpClient.getReplyCode();
- // FTPReply rep = new FTPReply();
- if(!FTPReply.isPositiveCompletion(reply)) {
- ftpClient.disconnect();
- throw new IOException("The first Exception!");
- }
- ftpClient.login(user, password);
- ftpClient.enterLocalPassiveMode();
- ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
- ftpClient.changeWorkingDirectory("/Ot_ASV/2020/2020-01/2020-01-30/605/ФоÑ\u0082о_Ð\u009BоÑ\u0082ов");
- FTPFile[] files =ftpClient.listDirectories();
- return;
- }
- public List<String> listFiles(String path) throws IOException {
- FTPFile[] files = ftpClient.listFiles(path);
- return Arrays.stream(files)
- .map(FTPFile::getName)
- .collect(Collectors.toList());
- }
- public void close() throws IOException {
- ftpClient.disconnect();
- }
- public void downloadFile(String source, String destination) throws IOException {
- if ((!source.equals(".")) && (!source.equals(".."))) {
- FileOutputStream out = new FileOutputStream(destination);
- ftpClient.retrieveFile(source, out);
- out.close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement