java SFTP路径格式与本地路径格式
我正在编写一些Java代码(使用JSch库)将SFTP导入远程Windows机器,并将文件复制到本地Windows文件夹
在远程计算机上指定文件的路径时,我被迫以/C/temp/myfile.txt
格式指定路径,而不是C:\temp\myfile.txt
问题:
你能告诉我这种格式是什么吗?有名字吗
你能告诉我是否可以使用其他格式的路径吗?我希望能够将路径指定为
C:\temp\myfile.txt
,因此用户根本不知道该文件是否是从远程机器上SFTP的。我猜我必须解析/拆分/替换路径中的字符,因为FTP get命令不理解此路径格式
谢谢
# 1 楼答案
SFTP协议要求
/
必须用作路径分隔符见SFTP specification:
正是SFTP服务器将服务器文件系统上真正的操作系统特定路径映射到符合SFTP规范的语法
您必须使用服务器作者选择使用的语法
因此,在所有情况下,都必须将
\
映射到/
您可能需要删除
:
。尽管这实际上是可以配置的。许多(特别是Windows)SFTP服务器都有一个配置,允许您将虚拟SFTP路径映射到真实路径。在这种情况下,您可以将/C:/
映射到C:\
在任何情况下,您的问题实际上不是关于JSch,而是关于您的SFTP服务器
另请参见myWinSCP SFTP客户端的常见问题解答:How do I change drive on the remote panel?