我们正在做一个遗留现代化程序VSAM/Mainframe to JAVA。 传统系统的其中一个模块会生成一个文件,并将文件通过st到Microsoft Windows服务器进行FTP。该文件包含特殊符号]¬|![¢^在FTP上被转换为Ù^ |!>μ。FTP特殊字符MF vs Java
但是,当我们通过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
它执行站点代码(networkpage,characterpage)它说没有recognized.The SBD是隔离区的现场指挥的那一刻,任何人都知道相应的Java FTP客户端。
这是什么JBFTP?我在IBM Knowledgecentre中找不到任何对它的引用。 –
@BillWoodger对我在VSAM中有限知识的道歉实际上是它的一个步骤EXEC = FTP –
作为一个老的IBM大型机人员,这里的问题是从EBCDIC到ASCII的转换。 Java使用Unicode,这是两者的超集,因此比旧系统具有更好的映射。你需要自己明确地做翻译。但是,由于您没有发布任何代码,我们无法真正帮助您。 –