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版迷你FTP服务器1.0
最新推荐文章于 2024-04-25 16:58:38 发布