java代码ftp文件传输
时间: 2024-09-02 19:03:21 浏览: 85
Java实现ftp文件传输
在Java中实现FTP文件传输通常需要使用Java的网络编程接口以及第三方库,比如Apache Commons Net库。以下是一个简单的FTP文件上传和下载的示例:
1. 首先,需要添加Apache Commons Net库依赖到你的项目中。如果你使用Maven,可以在`pom.xml`中添加如下依赖:
```xml
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version> <!-- 请检查最新的版本号 -->
</dependency>
```
2. 以下是Java代码中使用`FTPClient`类实现FTP文件上传和下载的简单示例:
上传文件:
```java
import org.apache.commons.net.ftp.FTPClient;
import java.io.FileInputStream;
import java.io.IOException;
public class FTPUploadExample {
public static void main(String[] args) {
FTPClient ftpClient = new FTPClient();
FileInputStream inputStream = null;
try {
ftpClient.connect("ftp.example.com"); // FTP服务器地址
ftpClient.login("username", "password"); // FTP登录用户名和密码
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
inputStream = new FileInputStream("local_file_path"); // 要上传的本地文件路径
boolean result = ftpClient.storeFile("remote_file_path", inputStream); // 远程服务器上的文件路径
if (result) {
System.out.println("文件上传成功!");
} else {
System.out.println("文件上传失败!");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
下载文件:
```java
import org.apache.commons.net.ftp.FTPClient;
import java.io.FileOutputStream;
import java.io.IOException;
public class FTPDownloadExample {
public static void main(String[] args) {
FTPClient ftpClient = new FTPClient();
FileOutputStream outputStream = null;
try {
ftpClient.connect("ftp.example.com"); // FTP服务器地址
ftpClient.login("username", "password"); // FTP登录用户名和密码
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
outputStream = new FileOutputStream("local_file_path"); // 本地保存文件的路径
boolean result = ftpClient.retrieveFile("remote_file_path", outputStream); // 远程服务器上的文件路径
if (result) {
System.out.println("文件下载成功!");
} else {
System.out.println("文件下载失败!");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (outputStream != null) {
outputStream.close();
}
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
在上述代码中,请替换`ftp.example.com`、`username`、`password`、`local_file_path`和`remote_file_path`为实际的FTP服务器信息和文件路径。
阅读全文