Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中检查该路径是否存在于服务器上_Java_Sftp_Jsch_File Exists - Fatal编程技术网

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

在Java中检查该路径是否存在于服务器上,java,sftp,jsch,file-exists,Java,Sftp,Jsch,File Exists,我正在创建一个Java程序,在该程序中,我将文件上传到特定路径上的服务器。我正在为sftp使用jSch 所以,在上传文件之前,我想检查服务器上是否存在给定的目录 if(path exists) //upload file to the location else //create the directory and then upload the file. 如何检查路径是否存在 注意:我正在客户端上执行代码,该客户端将检查服务器上是否存在远程目录。所以请不要建议File.ex

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

所以,在上传文件之前,我想检查服务器上是否存在给定的目录

if(path exists)
    //upload file to the location
else
    //create the directory and then upload the file.
如何检查路径是否存在


注意:我正在客户端上执行代码,该客户端将检查服务器上是否存在远程目录。所以请不要建议
File.exists()
我不熟悉这个库,但是从这个示例代码来看:它看起来可以使用

ChannelSftp c = ..;
c.ls('<path>')
channelsftpc=。。;
c、 ls(“”)
要检索该文件,这将告诉您该文件是否存在。

读取该文件时,您可以查看目录:

SftpATTRS attrs = channelSftp.lstat(path);

如果抛出异常,则该异常不存在。然后可以使用
channelSftp.mkdir(path)
创建它。

新文件(“”.exists()@BrianRoach-OP希望通过ftp从客户端程序检查服务器上是否存在文件
File.exists()
不起作用。看起来是这样,但老实说,它很容易被错误地阅读。我还是读了两遍才明白你的意思;我一直忽略第一句话。我不知道为什么这个问题被否决了???我想检查服务器上而不是本地计算机上的路径。。。File.exists()在服务器上不起作用……我不知道为什么会投反对票,但我可以猜测:您的问题的措辞表明,只需调用
File.exists()
File.isDirectory()
即可。您应该改写它,以澄清您想强调的是,您需要在客户端上执行代码,以检查服务器上是否存在远程目录。请尝试一下,如果路径不存在,它不会返回null,但会引发异常(没有这样的文件)。@AnkitLamba So。。。这是你的答案。文档对于库来说太糟糕了,我真的说不出来,快速阅读他的代码也没什么帮助(这不完全是自文档)。(编辑以更改结果)@AnkitLamba-您只需捕获异常以检测目录不存在。您可以尝试使用channelSftp.ls(“”)列出父目录的内容,并检查所需文件夹是否存在。@Sudhanshu为什么?因此,您可以添加不必要的字符串处理到您的代码中以获得乐趣?