Java 如何在enterprisedt.net.ftp.FileTransferClient中传递大型机文件名
我正在尝试使用Java 如何在enterprisedt.net.ftp.FileTransferClient中传递大型机文件名,java,ftp,mainframe,Java,Ftp,Mainframe,我正在尝试使用com.enterprisedt.net.ftp.FileTransferClient从ftp服务器下载文件,文件名为“ABC.DEF.GHI.JKL(0)”,这是一个大型机文件,也是一个有效的文件名(请与大型机管理员联系) 我收到的错误是: 错误[FTPClient]2 Mar 2012 21:44:08.359:在initGet()中捕获并重试异常:无效的数据集名称“ABC.DEF.GHI.JKL(0)”。使用MVS Dsname约定。 com.enterprisedt.net
com.enterprisedt.net.ftp.FileTransferClient
从ftp服务器下载文件,文件名为“ABC.DEF.GHI.JKL(0)”,这是一个大型机文件,也是一个有效的文件名(请与大型机管理员联系)
我收到的错误是:
错误[FTPClient]2 Mar 2012 21:44:08.359:在initGet()中捕获并重试异常:无效的数据集名称“ABC.DEF.GHI.JKL(0)”。使用MVS Dsname约定。
com.enterprisedt.net.ftp.ftp异常:501无效的数据集名称“ABC.DEF.GHI.JKL(0)”。使用MVS Dsname约定。
位于com.enterpriseedt.net.ftp.FTPControlSocket.validateReply(FTPControlSocket.java:1223)
位于com.enterprisedt.net.ftp.FTPClient.initGet(FTPClient.java:3109)
位于com.enterpriseedt.net.ftp.FTPClient.getData(FTPClient.java:3156)
位于com.enterpriseedt.net.ftp.FTPClient.getFile(FTPClient.java:2970)
位于com.enterprisedt.net.ftp.FTPClient.get(FTPClient.java:2356)
在com.enterpriseedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:703)
在com.enterpriseedt.net.ftp.FileTransferClient.downloadFile(FileTransferClient.java:683)
位于com.bluecrossma.ConnectToServer.main(ConnectToServer.java:47)
请告诉我如何解决这个问题
提前感谢在此链接中找到答案:只需在双引号内添加单引号。在此链接中找到答案:只需在双引号内添加单引号。谢谢各位。单引号的有趣设置,哇:)@javanoob-您应该将您的评论作为答案发布,以防将来有人遇到类似的问题,偶然发现这篇文章。恭喜您解决了这个问题。FTP假定不带引号的数据集名称是“个人”数据集,因此您的用户名会自动附加到名称的开头。引用数据集名称告诉FTP按原样使用数据集名称。
public static void main(String[] args) {
// extract command-line arguments
String host = "111.111.111.111";
String username = "bbbbbbbb";
String password = "cccccccccp";
String filename = "ABC.DEF.GHI.JKL(0)";
// set up logger so that we get some output
Logger log = Logger.getLogger(ConnectToServer.class);
Logger.setLevel(Level.INFO);
FileTransferClient ftp = null;
try {
// create client
log.info("Creating FTP client");
ftp = new FileTransferClient();
// set remote host
log.info("Setting remote host");
ftp.setRemoteHost(host);
ftp.setUserName(username);
ftp.setPassword(password);
// connect to the server
log.info("Connecting to server " + host);
ftp.connect();
log.info("Connected and logged in to server " + host);
//Downloading file from server
log.info("Downloading file");
ftp.downloadFile(filename+".copy", filename);
log.info("File downloaded");
// Shut down client
log.info("Quitting client");
ftp.disconnect();
log.info("Example complete");
} catch (Exception e) {
e.printStackTrace();
}
}