【发布时间】:2018-09-14 02:31:30
【问题描述】:
我想使用 JSch 在远程位置显示目录的完整层次结构。该位置有多个文件夹,一个文件夹可能有也可能没有文件。
我写的代码(参考SFTP Read all files in directory):
sftpChannel.cd(remotePath);
Vector<String> files = sftpChannel.ls("*");
List<String> ret=new ArrayList<>();
for (int i = 0; i < files.size(); i++)
{
Object obj = files.elementAt(i);
if (obj instanceof com.jcraft.jsch.ChannelSftp.LsEntry)
{
LsEntry entry = (LsEntry) obj;
if (true && !entry.getAttrs().isDir())
{
ret.add(entry.getFilename()+"file");
}
if (true && entry.getAttrs().isDir())
{
if (!entry.getFilename().equals(".") && !entry.getFilename().equals(".."))
{
ret.add(entry.getFilename()+"folder");
}
}
}
}
System.out.println(ret);
此代码仅显示顶级文件夹名称,不会读取这些文件夹中的文件。
我正在使用 jsch-0.1.54。
谢谢
【问题讨论】: