FTP中的文件操作
如何对ftp文件系统进行操作
文章目录
- FTP中的文件操作
- 前言
- 一、ftp是什么?
- 二、使用步骤
-
- 总结
前言
公司中运用到了ftp小文件系统,自己在本地学习了一下网上的操作步骤进行操作。
一、ftp是什么?
FTP是文件传输协议的英文简称,是一种客户端/服务器协议。用于Internet上的控制文件的双向传输。
二、使用步骤
1.本地创建搭建ftp系统
如何搭建
2.操作
操作前需要知道ftp的信息:ip,端口,用户名,密码;
初始化连接->操作->关闭连接
代码如下():
package com.example.ftptest.ftpfunction;
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.*;
public class Ftp {
private static FTPClient ftpClient;
private static String ip = "192.168.77.1";
private static Integer port = 21;
private static String userName = "2793887237@qq.com";
private static String passWord = "yeb001212";
public static boolean initFtpClient() throws Exception {
boolean is_success = false;
int reply;
ftpClient = new FTPClient();
ftpClient.connect(ip, port);
ftpClient.login(userName, passWord);
ftpClient.setControlEncoding("utf-8");
reply = ftpClient.getReplyCode();
System.out.println(ftpClient.getReplyString());
if (!FTPReply.isPositiveCompletion(reply)) {
throw new Exception("服务器连接失败");
} else {
ftpClient.enterLocalPassiveMode();
ftpClient.setControlEncoding("GBK");
is_success = true;
}
return is_success;
}
public static void dropFtpClient() {
try {
ftpClient.logout();
if (ftpClient.isConnected()) {
ftpClient.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static boolean uploadFile(String pathname, String originFileName) {
boolean is_success = false;
try {
InputStream inputStream = null;
File load = new File(originFileName);
inputStream = new FileInputStream(load);
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.changeWorkingDirectory(pathname);
is_success = ftpClient.storeFile(load.getName(), inputStream);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return is_success;
}
public static boolean downloadFile(String pathName, String localPath) {
boolean is_success = false;
OutputStream os = null;
try {
ftpClient.changeWorkingDirectory(pathName);
FTPFile[] ftpFiles = ftpClient.listFiles();
for (FTPFile file : ftpFiles) {
if (file.isFile()) {
File localFile = new File(localPath + "/" + file.getName());
os = new FileOutputStream(localFile);
ftpClient.retrieveFile(file.getName(), os);
os.close();
} else if (file.isDirectory()) {
downloadFile(pathName + file.getName() + "/", localPath);
}
}
is_success = true;
} catch (Exception e) {
e.printStackTrace();
}
return is_success;
}
public static void main(String[] args) throws Exception {
boolean is_success = false;
is_success = initFtpClient();
System.out.println(is_success);
is_success = uploadFile("/", "C:\\Users\\27938\\Desktop\\08a7-a3a15703ead7f75c92328ac08aeb080e.gif");
System.out.println(is_success);
dropFtpClient();
}
}
总结
继续加油吧
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)