java从FTP(FileZilla Server)下载文件
时间: 2024-01-14 18:40:56 浏览: 189
可以使用Apache Commons Net库来实现Java从FTP服务器下载文件的操作。以下是一个简单的示例代码:
```java
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class FTPDownloadExample {
public static void main(String[] args) {
String server = "your.ftp.server.com";
int port = 21;
String username = "your-username";
String password = "your-password";
String remoteFilePath = "/path/to/remote/file.txt";
String localFilePath = "/path/to/local/file.txt";
FTPClient ftpClient = new FTPClient();
try {
// 连接到FTP服务器
ftpClient.connect(server, port);
ftpClient.login(username, password);
// 设置文件类型为二进制文件
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// 创建本地文件输出流
OutputStream outputStream = new FileOutputStream(localFilePath);
// 下载文件到本地
ftpClient.retrieveFile(remoteFilePath, outputStream);
// 关闭流和连接
outputStream.close();
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
```
上述代码中,需要替换以下变量的值:
- `server`:FTP服务器主机名或IP地址。
- `port`:FTP服务器端口号,默认为21。
- `username`:FTP服务器登录用户名。
- `password`:FTP服务器登录密码。
- `remoteFilePath`:要下载的远程文件路径。
- `localFilePath`:要保存到本地的文件路径。
需要注意的是,如果要下载的文件是文本文件,应该将文件类型设置为ASCII类型(`ftpClient.setFileType(FTP.ASCII_FILE_TYPE)`)。如果要下载的文件是二进制文件,应该将文件类型设置为二进制类型(`ftpClient.setFileType(FTP.BINARY_FILE_TYPE)`)。
阅读全文