FTP文件到大型机

时间:2015-01-23 09:30:24

标签: java ftp mainframe

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

// 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 我怎么解决这个问题?

1 个答案:

答案 0 :(得分:3)

我假设你想在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(); } 

如果这有帮助,请告诉我们。 :)