首先是搭建 ftp server:
下载:http://archive.apache.org/dist/mina/ftpserver/1.0.6/
下载到本地, 如下图:
解压后到D盘 如图:
步聚:
1.修改连接到ftp服务器上的用户配置文件
D:\java\ftp\apache-ftpserver-1.0.6\res\conf\users.properties
2. 修改 ftpd-typical.xml 文件
解释说明:
《1》
max-logins:允许同时登录ftp的用户数;
anon-enabled:是否运行匿名登录;
max-anon-logins:允许同时登录的最大匿名用户数;
max-login-failures:允许登录失败的次数,超过次数则关闭连接;
ogin-failure-delay:一次登录失败后,重新发起登录的间隔,单位毫秒;
《2》encrypt-passwords="true" ---- 定义用户密码为明文
3.以前两步文件配置后,即可在DOS窗口中启动ftp服务器了。
可写成一个批处理文件,点击即可启动ftpserver文件
双击run_ftp文件即可。
此时打开一些ftp client,来访问此搭建的ftp服务器
至此,搭建ftp服务器成功。
利用Apache commons-net 实现;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package com.xwolf.driver.util;
import com.xwolf.driver.exception.RunException;
import org.apache.commons.net.ftp.FTPClient;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.charset.Charset;
/** * Created by Administrator on 2015/9/18.
*/
public class FtpUtil {
//用户名
private static final String username ="root";
//密码
private static final String pwd ="root1234";
//主机
private static final String host ="127.0.0.1";
//端口
private static final int port =21;
/*
*上传文件到ftp
* */
public static void upload(FTPClient ftpClient) throws RunException {
File file = new File("C:\\Users\\Administrator\\Desktop\\document\\派单OSS报文.xml");
try {
FileInputStream fis = new FileInputStream(file);
//设置FTP文件目录
ftpClient.changeWorkingDirectory("/weblogic/upload");
//缓冲区
ftpClient.setBufferSize(1024);
//字符集 貌似用途不大
ftpClient.setControlEncoding("GBK");
ftpClient.setCharset(Charset.forName("GBK"));
//文件类型(二进制文件)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//保存文件到FTP服务器上 防止中文乱码
ftpClient.storeFile(new String("派单OSS报文_0921.xml".getBytes("GBK"),"iso-8859-1"),fis);
} catch (Exception e) {
throw new RunException("文件上传ftp服务器异常",e);
}
}
/**
* 下载文件
* @param ftpClient
*/
public static void download(FTPClient ftpClient) throws RunException {
try {
//保存的文件的名称
FileOutputStream ous = new FileOutputStream(new File("E:\\派单报文.xml"));
ftpClient.setBufferSize(1024);
//设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//服务器上文件名称
ftpClient.retrieveFile("派单OSS报文_0921.xml",ous);
} catch (Exception e) {
throw new RunException("文件上传ftp服务器异常",e);
}
}
public static void main(String[] args) throws RunException {
FTPClient ftpClient=new FTPClient();
try {
//连接FTP
ftpClient.connect(host,port);
//是否登录成功
boolean login = ftpClient.login(username,pwd);
if(login){
download(ftpClient);
}
} catch (Exception e) {
throw new RunException("ftp服务器连接异常",e);
}
}
} |