ftp服务器搭建及简单操作

ftp服务器搭建及简单操作

1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”)。

2. 安装ftp服务,输入命令:yum install vsftpd

3. 使用命令查看: getsebool -a|grep ftp

4. 使用命令:setsebool -P 来设置

  setsebool -P allow_ftpd_full_access=on

  setsebool -P ftp_home_dir=on

5. 在防火墙中开发21号端口,输入命令vim /etc/sysconfig/iptables

6. 重启防火墙,输入命令:service iptables restart

7. 启动ftp服务器,输入命令:service vsftpd start

使用java测试ftp上传功能

1. 导入依赖:

 1 <dependencies>
 2     <dependency>
 3         <groupId>commons-net</groupId>
 4     <artifactId>commons-net</artifactId>
 5     <version>3.3</version>
 6     </dependency>
 7     <dependency>
 8     <groupId>junit</groupId>
 9     <artifactId>junit</artifactId>
10         <version>4.12</version>
11     </dependency>
12 </dependencies>

2. 项目目录结构:

3. java测试代码:

 1 @Test
 2 public void testFtp1() throws Exception {
 3     FTPClient ftp = new FTPClient(); // 创建客户端对象
 4     InputStream local = null;
 5     ftp.connect("192.168.33.129", 21); // 连接ftp服务器
 6     ftp.login("testftp", "1234567"); // 登录
 7     String path = "/home/testftp/image"; // 设置上传路径
 8     boolean flag = ftp.changeWorkingDirectory(path); // 检查上传路径是否存在,如果不存在返回false
 9     if (!flag) {
10         ftp.makeDirectory(path); // 创建上传的路径 该方法只能创建一级目录
11     }
12     ftp.changeWorkingDirectory(path); // 指定上传路径
13     ftp.setFileType(FTP.BINARY_FILE_TYPE); // 指定上传文件的类型 二进制文件
14     File file = new File("0.jpg"); // 读取本地文件
15     local = new FileInputStream(file);
16     ftp.storeFile(file.getName(), local); // 第一个参数是文件名
17     local.close(); // 关闭文件流
18     ftp.logout(); // 退出
19     ftp.disconnect(); // 断开连接
20 }

4. 去到上传目录查看结果:

原文地址:https://www.cnblogs.com/Oven5217/p/6934623.html