在FTPClient对象中,可以使用changeWorkingDirectory()方法切换到远程目录,并使用listFiles()方法获取当前目录下的文件和文件夹列表。然后,遍历列表,使用FTPFile对象的isDirectory()方法判断是否为文件夹,并使用getName()方法获取文件夹名称。如果想要创建的文件夹不存在,则使用makeDirectory()方法创建新文件夹。以下是一个简单的Java代码示例:
```java
import java.io.IOException;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class FTPCreateDirectoryIfNotExists {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String user = "username";
String password = "password";
String remoteDir = "/upload";
String dirName = "example";
FTPClient ftpClient = new FTPClient();
try {
// 连接FTP服务器
ftpClient.connect(server, port);
ftpClient.login(user, password);
System.out.println("Connected to FTP server");
// 设置文件传输模式为二进制
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// 切换到远程目录
ftpClient.changeWorkingDirectory(remoteDir);
// 判断文件夹是否存在,不存在则创建新文件夹
boolean exists = false;
FTPFile[] files = ftpClient.listFiles();
for (FTPFile file : files) {
if (file.isDirectory() && file.getName().equals(dirName)) {
exists = true;
break;
}
}
if (!exists) {
boolean success = ftpClient.makeDirectory(dirName);
if (success) {
System.out.println("Directory created successfully");
} else {
System.out.println("Directory creation failed");
}
} else {
System.out.println("Directory already exists");
}
// 断开连接
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先创建了一个FTPClient对象,并使用connect()方法连接到FTP