FTP特殊字符MF与Java

时间:2016-10-06 15:30:38

标签: java ftp apache-commons mainframe codepages

我们正在为JAVA做一个传统的现代化计划VSAM / Mainframe。 遗留系统的一个模块生成一个文件,该文件由st到Microsoft Windows服务器FTP。该文件包含特殊符号]¬|![¢^在FTP上转换为Ù^ |!>μ。

然而,当我们通过Apache Commons FTP Client在Java中执行相同的功能时,保留特殊字符,因为它是¬|![¢^。没有翻译。要求是保持转换不变,因为下游模块不会在不久的将来升级。

任何人都面临这个问题,关于如何在Java端我们可以做这个翻译大型机在FTP期间能够实现的?

ftp = new FTPClient();
ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
int reply;
ftp.connect(host);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
    ftp.disconnect();
    throw new Exception("Exception in connecting to FTP Server");
}
ftp.login(user, pwd);
ftp.site("SBD=(IBM-1140,ISO8859-1)") //not working ftp says not recognised

当它执行站点代码(网页,字符页)时,它表示无法识别.sbd是zos site命令,任何人都知道相应的java ftp客户端。

1 个答案:

答案 0 :(得分:0)

我有类似的问题。所以,改为使用我使用的ftp.site

ftp.sendCommand("site sbdataconn=AAAA.BBBB.CCC");

AAAA.BBBB.CCC是FB的主机数据集,Lrecl 256包含翻译参考。

将ftp语句更改为

ftp.sendCommand("site sbdataconn=(IBM-1140,ISO8859-1)");