package a;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextField;
import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.FtpServerFactory;
import org.apache.ftpserver.ftplet.Authority;
import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.usermanager.impl.BaseUser;
import org.apache.ftpserver.usermanager.impl.WritePermission;
public class Main extends JFrame {
public Main() {
try {
this.setTitle("Java版迷你ftp服务器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(500, 500, 340, 130);
this.setLayout(null);
JTextField jtf = new JTextField("c:\\");
jtf.setBounds(10, 10, 300, 50);
this.add(jtf);
JFileChooser jfc = new JFileChooser("c:\\");
jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
String dir = "c:\\";
if (jfc.showOpenDialog(this) == 0) {
dir = jfc.getSelectedFile().getAbsolutePath();
}
jtf.setText(dir);
ArrayList<Authority> la = new ArrayList<Authority>();
WritePermission wp = new WritePermission();
BaseUser bu = new BaseUser();
ListenerFactory lf = new ListenerFactory();
FtpServerFactory fsf = new FtpServerFactory();
la.add(wp);
bu.setName("anonymous");
bu.setPassword(null);
bu.setHomeDirectory(dir);
bu.setAuthorities(la);
lf.setPort(21);
fsf.addListener("default", lf.createListener());
fsf.getUserManager().save(bu);
FtpServer fs = fsf.createServer();
fs.start();
} catch (Exception e) {
e.getMessage();
}
}
public static void main(String[] args) {
Main m = new Main();
m.setVisible(true);
}
}
这个Java程序创建了一个基于Apache FtpServer的简单FTP服务器。它设置了匿名用户的权限,允许写入访问,并指定了根目录。用户可以选择目录作为FTP服务器的基础路径,并通过配置监听端口和用户信息来启动服务器。
重新排顺序版启动选择路径&spm=1001.2101.3001.5002&articleId=128361274&d=1&t=3&u=6e9c34f7e6cc41be81c659725af97574)
452

被折叠的 条评论
为什么被折叠?



