Java sftp调用ls(String path, ChannelSftp.LsEntrySelector selector) 筛选出含有890888的文件名
时间: 2023-05-12 22:03:29 浏览: 138
您可以使用以下代码来筛选出含有890888的文件名:
```
ChannelSftp sftp = (ChannelSftp) session.openChannel("sftp");
sftp.connect();
Vector<ChannelSftp.LsEntry> files = sftp.ls(path);
for (ChannelSftp.LsEntry file : files) {
if (file.getFilename().contains("890888")) {
// Do something with the file
}
}
sftp.disconnect();
```
这段代码使用了SFTP协议连接到远程服务器,并使用ls方法获取指定路径下的文件列表。然后,使用for循环遍历文件列表,并使用contains方法检查文件名是否包含890888。如果包含,则可以对该文件进行操作。最后,使用disconnect方法关闭SFTP连接。
相关问题
Java 调用ls(String path, ChannelSftp.LsEntrySelector selector) 筛选出含有890888的文件名
您可以使用以下代码来筛选出含有890888的文件名:
```
ChannelSftp sftp = (ChannelSftp) session.openChannel("sftp");
sftp.connect();
Vector<ChannelSftp.LsEntry> files = sftp.ls(path);
for (ChannelSftp.LsEntry file : files) {
if (file.getFilename().contains("890888")) {
// do something with the file
}
}
sftp.disconnect();
```
请注意,这只是一个示例代码,您需要根据您的具体情况进行修改。
Java ls(String path, ChannelSftp.LsEntrySelector selector) 筛选出含有890888的文件名
这个问题可以通过使用正则表达式来实现。你可以使用以下代码来实现:
```
public static void ls(String path, ChannelSftp.LsEntrySelector selector) {
try {
Vector<ChannelSftp.LsEntry> list = sftp.ls(path);
for (ChannelSftp.LsEntry entry : list) {
if (entry.getFilename().matches(".*890888.*")) {
selector.select(entry);
}
}
} catch (SftpException e) {
e.printStackTrace();
}
}
```
这个方法会筛选出所有文件名中包含"890888"的文件,并将它们传递给指定的selector。
阅读全文