Java ftp 文件传输
2019, Jan 31
Java Ftp 文件传输
Maven 依赖
<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
Java代码
import org.apache.commons.net.ftp.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Ftp
*
* @author Flynn
* @version 1.0
* @description TODO
* @email liufenglin@163.com
* @date 2019/1/31
*/
public class Ftp {
static FTPClient ftp = new FTPClient();
static String username = "ASUS";
static String password = "hahahha";
static String server = "127.0.0.1";
static String directory = "/";
static String remoteFileName = "src.zip";
static String getRemoteFileType = "";
static String filePath = "C:\\Users\\ASUS\\Desktop\\OKOK\\";
static File file = null;
static FileOutputStream fileOutputStream = null;
public static void main(String[] args) throws IOException {
testFtp();
}
public static void testFtp() throws IOException {
try {
int reply;
ftp.connect(server);
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.login(username, password);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
// 连接出错则直接退出
ftp.disconnect();
}
FTPFile[] files = ftp.listFiles(directory);
for (int i = 0; i < files.length; i++) {
if (remoteFileName.equals(files[i].getName())) {
file = new File(filePath + files[i].getName());
// 下载文件
fileOutputStream = new FileOutputStream(file);
ftp.retrieveFile(remoteFileName, fileOutputStream);
break;
}
}
ftp.logout();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
github图床 https://fenglinliu.github.io/assets/img/blog/