JSch SFTP是否支持站点命令,如lrecl或blksize



我想弄清楚Jsch sftp框架是否可以支持站点命令,如lrecl, blksize, mgtmclass等,当试图从非大型机环境sftp到大型机(zos)环境

从我目前所看到的情况来看,SFTP规范似乎不直接支持site命令,但我不能100%确定该信息是否准确。

在研究JSch时,似乎有一个ChannelExec类似乎能够远程执行命令,但是这是否会满足我在这里的需求,我也没有能够确定。

一位专门研究大型机的同行也告诉我,ls /+/可以使用一些大型机魔法,但如何将其应用到JSch中可用的任何类上,他就不知道了,因为Java不是他的专业领域。

我在一定程度上要回答我自己的问题,这是我没有想到的。经过大量的搜索,我偶然发现了一段我所需要的代码。

所以这使用了我的同伴所说的大型机魔法,使用ls命令传递站点命令。

我只是选了一小段来展示我在这里想要完成的内容:

String lrecl = "/+/lrecl=128"
JSch jsch = new JSch();
Session session = jsch.getSession(user, hostName, port);
session.setPassword(password);
session.connect(120000);
ChannelSftp channel = (ChannelSftp)session.openChannel("sftp");
channel.connect(100000);
channel.ls(lrecl);

这只是代码的一部分,但确实显示了如何传递站点命令。我还没有确认是否所有的站点命令都可以这样发送。

希望这能帮助或节省一些时间。

关于这个方法的任何反馈或想法请告诉我。

最新更新