在Java中检查服务器上是否存在路径

时间:2014-01-22 07:31:47

标签: java sftp jsch file-exists

我正在创建一个Java程序,我将文件上传到特定路径上的服务器。我将jSch用于sftp

因此,在上传文件之前,我想检查服务器上是否存在给定目录。

if(path exists)
    //upload file to the location
else
    //create the directory and then upload the file.

如何检查路径是否存在?

  

注意:我正在客户端上执行代码,该代码将检查服务器上是否存在远程目录。所以请不要建议File.exists()

2 个答案:

答案 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>')

要检索文件,这应该告诉你它是否存在。