gpt4 book ai didi

java - 使用 JSch SFTP 下载文件时获取 "The file does not exist."

转载 作者:行者123 更新时间:2023-12-01 11:51:27 25 4
gpt4 key购买 nike

我正在尝试从 Linux/Windows 获取文件到 Windows 系统,并且我已经为此编写了代码。但似乎代码或 Jsch 本身存在一些问题。

String host = "<IP>";

int port = Integer.parseInt("22");
String userName = "<USERNAME>";
String password = "<PASSWORD>";
ChannelSftp sftpChannel = null;
try {
JSch jsch = new JSch();
Session session = jsch.getSession(userName, host, port);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();

// open an SFTP channel
Channel channel = session.openChannel("sftp");
channel.connect();
sftpChannel = (ChannelSftp) channel;

File headerFolder = new File("/home/userName/testFiles");

if (!headerFolder.exists()) {
headerFolder.mkdirs();
}

sftpChannel.get("/d/myfile.txt", "/home/username/aFolder"); //windows to linux
} catch (JSchException e) {
//LOGGER.error(e.getMessage(), e);
e.printStackTrace();
} catch (SftpException e) {
//LOGGER.error(e.getMessage(), e);
e.printStackTrace();
}

2:文件不存在。

at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2198)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2215)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:913)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:873)​

最佳答案

sftpChannel.get("/d/myfile.txt","/home/username/aFolder");
2: The file does not exist.

您的客户端尝试从 SFTP 服务器获取“/d/myfile.txt”,但服务器响应该文件不存在。您指出远程服务器是 Windows 系统,因此我假设您正在尝试获取“D:\myfile.txt”。看来这里有三种可能性:

  1. 该文件实际上不存在。
  2. 该文件确实存在,但您没有使用正确的 SFTP 路径名来获取该文件。
  3. 该文件确实存在,但您无法访问它。

SFTP 协议(protocol)使用类似 UNIX 的文件路径名模型,因此人们希望使用“/”作为分隔符,并且绝对文件名以“/”开头。如果“/d/myfile.txt”不是获取文件的正确路径,您应该检查 SFTP 服务器的文档和/或询问服务器管理员如何通过 SFTP 访问 D: 驱动器的根目录。

或者,您可以尝试使用交互式 SFTP 客户端登录服务器并查看哪些文件可见。如果您要 cd 到/目录并开始四处查看,远程文件的正确路径可能会变得显而易见。

关于java - 使用 JSch SFTP 下载文件时获取 "The file does not exist.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com