FTP 文件到大型机

FTP file to Mainframe

我正在尝试 FTP 一个 JCL txt 文件到大型机:

// Connect to the server
        ftp.connect(host);
        replyText = ftp.getReplyString();
        System.out.println(replyText);

        // Log into the server
        ftp.login(userId, password);
        replyText = ftp.getReplyString();
        System.out.println(replyText);


        // Tell the server to use the JES interface
        ftp.sendSiteCommand("FILETYPE=JES");
        replyText = ftp.getReplyString();
        System.out.println(replyText);

        //read JCL file in input stream
        FileInputStream fileStream = new FileInputStream(file);

        String originalFileName = "ca7jcl.txt";

        ftp.setFileType(FTP.ASCII_FILE_TYPE);

        //store the JCL file
        ftp.storeFile(host, fileStream);
        replyText = ftp.getReplyString();
        System.out.println(replyText);

但得到 250 - JES 将其称为 *UNKNOWN 我该如何解决这个问题?

我假设您想在 FTP 编辑时 运行 您的 JCL 文本文件。

附上 try {}catch {} 块(如果未完成)。

这是代码(这对我有用):

// FTPClient ftp = new FTPClient(); Assumed in your code
//Connect to the server 
try
{
    ftp.connect(host);
    replyText = ftp.getReplyString();
    System.out.println(replyText);
} catch (Exception  e)  { e.printStackTrace () ; }

//Login to the server 
try 
{ 
    ftp.login(userId, password);
    replyText = ftp.getReplyString();
    System.out.println(replyText);
} catch (Exception e) { e.printStackTrace(); } 

// Tell the server to use the JES interface
try
{ 
    // Instead of sendSiteCommand()
    // ftp.sendSiteCommand("FILETYPE=JES");

    // Try site() with everythng in lowercase
    ftp.site ("filetype=jes") ; 
    String replyText = ftp.getReplyString() ; 
    System.out.println (replyText) ; 
} catch (Exception e) { e.printStackTrace(); } 

//Submit the job from the text file.Use \ to avoid using escape notation 
try 
{ 
    //read JCL file in input stream
    //String originalFileName = "ca7jcl.txt";

    String path = "" //Store your file's absolute path here 
    FileInputStream fileStream = new FileInputStream(path);

    //store the JCL file
    ftp.storeFile(host, fileStream);
    replyText = ftp.getReplyString();
    System.out.println(replyText);
 }  catch (Exception e) { e.printStackTrace(); } 

让我们知道这是否有帮助。 :)