java 上传文件到ftp服务器代码
时间: 2023-08-30 15:07:10 浏览: 112
java实现sftp客户端上传文件以及文件夹的功能代码
以下是一个使用Java上传文件到FTP服务器的示例代码:
```java
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 FTPUploader {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String username = "your-username";
String password = "your-password";
File fileToUpload = new File("path/to/file.txt"); // 要上传的文件路径
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(username, password);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
FileInputStream fileInputStream = new FileInputStream(fileToUpload);
String remoteFile = "uploaded-file.txt"; // 远程服务器上保存的文件名
boolean uploaded = ftpClient.storeFile(remoteFile, fileInputStream);
fileInputStream.close();
if (uploaded) {
System.out.println("文件上传成功!");
} else {
System.out.println("文件上传失败!");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
以上代码使用了Apache Commons Net库来处理FTP相关操作。你需要将`server`、`port`、`username`和`password`替换为你的FTP服务器的相关信息,将`fileToUpload`替换为你要上传的文件路径,`remoteFile`替换为在服务器上保存的文件名。
请确保你的项目中包含了Apache Commons Net库的依赖。你可以在Maven项目中添加以下依赖:
```xml
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.8.0</version>
</dependency>
```
希望对你有所帮助!如果有任何问题,请随时问我。
阅读全文