<dependency>
<groupId>org.fabric3</groupId>
<artifactId>fabric3-ftp-extension</artifactId>
<version>1.0.0</version>
</dependency>
import org.fabric3.api.annotation.model.EndpointUri;
import org.fabric3.api.binding.file.FileBinding;
import org.fabric3.api.binding.file.FileBindingBuilder;
import org.fabric3.api.binding.file.FileBindingConfiguration;
import org.fabric3.api.binding.file.runtime.FileBindingHandler;
import org.fabric3.api.host.Fabric3;
import org.fabric3.spi.container.builder.ResourceBuilder;
import java.io.File;
public class FTPServer {
@EndpointUri("file://localhost:2121")
public void startServer() throws Exception {
FileBindingConfiguration configuration = new FileBindingConfiguration();
configuration.setDirectory(new File("/path/to/ftp/directory"));
FileBindingBuilder builder = new FileBindingBuilder();
builder.configuration(configuration);
FileBinding binding = builder.build();
Fabric3.start().getContributionResolver().resolve(binding).initialize();
FileBindingHandler handler = new FileBindingHandler();
handler.start(binding);
}
public static void main(String[] args) throws Exception {
new FTPServer().startServer();
}
}
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FTPClientExample {
public static void main(String[] args) {
String server = "localhost";
int port = 2121;
String user = "username";
String password = "password";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, password);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
File localFile = new File("/path/to/local/file");
String remoteFile = "filename.ext";
FileInputStream inputStream = new FileInputStream(localFile);
boolean done = ftpClient.storeFile(remoteFile, inputStream);
inputStream.close();
if (done) {
System.out.println("File uploaded successfully.");
}
} catch (IOException ex) {
System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}