我正在创建一个Java程序,我将文件上传到特定路径上的服务器。我将jSch
用于sftp
。
因此,在上传文件之前,我想检查服务器上是否存在给定目录。
if(path exists)
//upload file to the location
else
//create the directory and then upload the file.
如何检查路径是否存在?
注意:我正在客户端上执行代码,该代码将检查服务器上是否存在远程目录。所以请不要建议
File.exists()
。
答案 0 :(得分:9)
阅读Documentation for ChannelSftp,您只能lstat
目录:
SftpATTRS attrs = channelSftp.lstat(path);
如果抛出异常,则不存在。然后,您可以使用channelSftp.mkdir(path)
创建它。
答案 1 :(得分:0)
我不熟悉这个库,但是从这个示例代码:http://www.jcraft.com/jsch/examples/Sftp.java.html看起来你可以使用
ChannelSftp c = ..;
c.ls('<path>')
要检索文件,这应该告诉你它是否存在。