java实现 ftpclient下载exe文件,并且不改变文件类型
时间: 2024-01-16 15:02:55 浏览: 95
详解JAVA中使用FTPClient工具类上传下载
5星 · 资源好评率100%
好的,您可以使用Apache Commons Net库中的FTPClient类来实现Java程序中的FTP文件下载,然后使用Java IO流将文件写入到本地计算机中。以下是一个简单的示例代码:
```java
import java.io.*;
import org.apache.commons.net.ftp.*;
public class FTPDownloadExample {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String user = "username";
String pass = "password";
String remoteFilePath = "/path/to/file.exe";
String localFilePath = "C:/downloads/file.exe";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE); // 设置文件类型为二进制,避免文件类型被改变
OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(localFilePath));
boolean success = ftpClient.retrieveFile(remoteFilePath, outputStream);
outputStream.close();
if (success) {
System.out.println("File downloaded 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();
}
}
}
}
```
在上面的代码中,我们使用FTPClient类连接到FTP服务器,然后使用`setFileType`方法将文件类型设置为二进制类型,这样就可以避免文件类型被改变。接下来,我们使用`retrieveFile`方法从服务器下载文件,并使用Java IO流将文件写入到本地计算机中。最后,我们关闭FTP连接并输出下载成功的信息。
请注意,上面的代码示例仅供参考。您需要根据实际情况修改远程和本地文件路径,以及FTP服务器的连接信息。
阅读全文