我正在使用Apache Commons VFS / SFTP,我们正在尝试从IBM MVS系统下载文件。
下载部分都很好,但是下载后我们无法打开压缩文件。似乎zip文件是使用不同的算法压缩的
任何人都有任何指针?
*注意,如果我们连接到常规的unix / linux SFTP服务器,相同的功能可以正常工作。
以下是我们所做的一个例子
String defaultHost = "[my sftp ip address]";
String host = defaultHost;
String defaultRemotePath = "//__root.dir1.dir2.";
String remotePath = defaultRemotePath;
String user = "test";
String password = "test";
String remoteFileName = "Blah.ZIP.BLAH";
log.info("FtpPojo() begin instantiation");
FileObject localFileObject = fsManager.resolveFile("C:/Work/Blah.ZIP.BLAH");
log.debug("local file name is :"+localFileObject.getName().getBaseName());
log.debug("FtpPojo() instantiated and fsManager created");
String uri = createSftpUri(host, user, password) + ":322"+remotePath+remoteFileName;
remoteRepo = fsManager.resolveFile(uri, fsOptions);
remoteRepo.copyFrom(localFileObject, Selectors.SELECT_ALL);
答案 0 :(得分:0)
我不是大型机专家,但我认为你不是连接到MVS,而是连接到运行FTP或SSH守护进程的USS(Unix系统服务)。 我只是尝试通过FTP从USS下载文件,使用常规的Windows FTP可以交换并打开文件。没有二进制文件。 因此,我不认为你会得到EBCDIC编码的文件。
您是否尝试过下载简单的文本文件? 您是否尝试过下载带有特殊字符的文本文件?例如德语变音符号或其他非ASCII?
答案 1 :(得分:0)
有几件事要尝试:
指定BINARY选项,因为我认为默认是EBCDIC-ASCII转换。这会对zip文件造成可怕的影响。如果您可以下载可能是您的麻烦的纯文本文件。
压缩数据可能是您的系统不喜欢的东西,例如PDS吗?