我是 Apache Common vfs 的新手, 我成功连接到服务器 我已经阅读了文档,但我被困在这段代码中。 我如何列出目录/文件?
....
Session session = null;
FileSystemManager fsManager = null;
FileSystem fs = null;
try {
String host = "host_here";
int port = 22;
String userStr = "user_here";
char [] username = userStr.toCharArray();
String passStr = "password_here";
char [] password = passStr.toCharArray();
session = SftpClientFactory.createConnection(host, port, username, password, null);
//session.connect();
System.out.println("Connected to the server");
FileSystemOptions opts = new FileSystemOptions();
fsManager = VFS.getManager();
FileObject file = fsManager.resolveFile("ftp://"+userStr+":"+passStr+"@"+host+"/home/", opts);
// .... whats next i do here? .....
} catch (Exception e) {
session.disconnect();
e.printStackTrace();
}
...
请帮助我, 先谢谢你了:)
最佳答案
可以使用 FileObject#getChildren() 显示文件列表方法。
FileSystemOptions opts = new FileSystemOptions();
fsManager = VFS.getManager();
// List all the files in that directory.Try to give the directory path
FileObject localFileObject=fsManager.resolveFile("ftp://"+userStr+":"+passStr+"@"+host+"/home");
FileObject[] children = localFileObject.getChildren();
for ( int i = 0; i < children.length; i++ ){
System.out.println( children[ i ].getName().getBaseName() );
}
// End of List Files.
FileObject file = fsManager.resolveFile("ftp://"+userStr+":"+passStr+"@"+host+"/home/", opts);
我的建议是使用JSCH最适合 SFTP 操作的框架。由于Apache Common VFS
本身就使用了这个框架。JSCH
将大大降低复杂度。
关于ftp - 如何使用 Apache Common vfs 列出文件目录/文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932439/