gpt4 book ai didi

java - 直接将 SFTP 文件下载到远程服务器文件夹(而不是共享路径)

转载 作者:行者123 更新时间:2023-12-01 09:07:30 26 4
gpt4 key购买 nike

我想开发一个java程序来从SFTP服务器下载文件到远程服务器。该远程服务器没有任何共享路径。我必须直接从 sftp 下载并粘贴到远程 Windows 服务器驱动程序(D:)中。

代码:

 int ftpPort = 22;

JSch jsch = new JSch ();
Session session = null;
Channel channel = null;
ChannelSftp c = null;

try {

session = jsch.getSession(username, hostname, ftpPort);
logger.info("*** FTP Session created. ***");
session.setPassword(password);

Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
logger.info("*** Session connected. ***");

//Open the SFTP channel
logger.info("*** Opening FTP Channel. ***");
channel = session.openChannel("sftp");
channel.connect();
c = (ChannelSftp) channel;

//Change to the remote directory
logger.info("*** Changing to FTP remote dir: " + remoteDirectory + " ***");
c.cd(remoteDirectory);

//Send the file we generated
try {
logger.info("*** Storing file:'" + filename + "' to local directory: '"+localDirectory+"'");

我正在使用 Jsch 和 ChannelSftp 连接到 SFTP 服务器。

到目前为止,上面的代码将代码下载到本地路径和共享路径。

任何将文件下载到没有任何共享路径的远程服务器(Windows)的建议。

谢谢。

最佳答案

您的代码需要直接在远程服务器上运行,并将文件从 SFTP 下载到本地磁盘。

另一种方法是使用代码将文件下载到本地计算机上,然后使用 SCP 之类的工具将文件传输到远程服务器上(如果您确实没有任何共享文件夹)。

scp /path/to/your/file user@host:/remote/path

但是你说,它是 Windows,所以你可能需要先在那台机器上设置 SSH/SCP。

关于java - 直接将 SFTP 文件下载到远程服务器文件夹(而不是共享路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143956/

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