java sftp批量删除文件
时间: 2024-01-11 07:22:06 浏览: 109
以下是使用Java和JSch库实现批量删除SFTP服务器上文件的示例代码:
```java
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;
public class SftpBatchDelete {
public static void main(String[] args) {
String host = "sftp.example.com";
int port = 22;
String username = "your_username";
String password = "your_password";
String directory = "/path/to/files";
try {
JSch jsch = new JSch();
Session session = jsch.getSession(username, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");
channel.connect();
channel.cd(directory);
// 获取目录下的所有文件
Vector<ChannelSftp.LsEntry> files = channel.ls(".");
for (ChannelSftp.LsEntry file : files) {
if (!file.getAttrs().isDir()) {
// 删除文件
channel.rm(file.getFilename());
}
}
channel.disconnect();
session.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
请注意,你需要将示例代码中的`host`、`port`、`username`、`password`和`directory`替换为你自己的SFTP服务器信息和要删除的文件所在的目录。
阅读全文