Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在enterprisedt.net.ftp.FileTransferClient中传递大型机文件名_Java_Ftp_Mainframe - Fatal编程技术网

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();
    }
}