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 implements ActionListener {
JTextField jtf = new JTextField("c:\\");
JButton jb = new JButton("修改目录");
public Main() {
this.setTitle("Java版迷你ftp服务器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(500, 500, 750, 130);
this.setLayout(null);
jtf.setBounds(10, 10, 350, 50);
jb.setBounds(370, 10, 350, 50);
jb.addActionListener(this);
this.add(jtf);
this.add(jb);
}
public static void main(String[] args) {
Main m = new Main();
m.setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
try {
String s = ae.getActionCommand();
if (s.equals("修改目录")) {
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();
jb.setEnabled(false);
jb.setText("ftp服务器运行中,若要更改路径请退出后重新打开");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java版ftp服务器(带选择路径版)重新排顺序版
最新推荐文章于 2024-05-24 02:08:26 发布