FtpServerFactory serverFactory = new FtpServerFactory();
ListenerFactory factory = new ListenerFactory();
factory.setServerAddress("127.0.0.1");
// set the port of the listener
factory.setPort(2221);
// replace the default listener
serverFactory.addListener("default", factory.createListener());
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
// userManagerFactory.setFile(new File("myusers.properties"));
userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
UserManager um = userManagerFactory.createUserManager();
BaseUser user = new BaseUser();
user.setName("id");
user.setPassword("pw");
user.setHomeDirectory("C:\\ftp");
List<Authority> authorities = new ArrayList<Authority>();
authorities.add(new TransferRatePermission(Integer.MAX_VALUE,Integer.MAX_VALUE));
authorities.add(new WritePermission());
user.setAuthorities(authorities);
um.save(user);
serverFactory.setUserManager(um);
// start the server
FtpServer server = serverFactory.createServer();
server.start();
https://mina.apache.org/ftpserver-project/