ftpClient.listFiles
时间: 2023-08-20 14:29:34 浏览: 215
`FTPClient` 是 Java 中用于操作 FTP 服务器的类,其中的 `listFiles` 方法用于获取 FTP 服务器上指定目录下的文件和子目录的列表。该方法返回一个 FTPFile 对象数组,其中包含指定目录中的所有文件和子目录。如果目录不存在或者不是一个目录,则该方法将返回空数组。以下是 `FTPClient` 中 `listFiles` 方法的示例代码:
```java
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class FTPListFilesExample {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String user = "username";
String password = "password";
String remoteDirPath = "/path/to/remote/directory";
FTPClient ftp = new FTPClient();
try {
ftp.connect(server, port);
int replyCode = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(replyCode)) {
System.out.println("FTP server refused connection.");
return;
}
boolean success = ftp.login(user, password);
if (!success) {
System.out.println("Could not login to the FTP server.");
return;
}
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
FTPFile[] files = ftp.listFiles(remoteDirPath);
for (FTPFile file : files) {
if (file.isFile()) {
System.out.println("File: " + file.getName());
} else if (file.isDirectory()) {
System.out.println("Directory: " + file.getName());
}
}
ftp.logout();
} catch (IOException ex) {
System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ex) {
// do nothing
}
}
}
}
}
```
注意,需要使用 Apache Commons Net 库中的 `FTPClient` 类来实现 FTP 操作。该库可以从 Apache 网站上下载。
阅读全文