我正在尝试将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 我怎么解决这个问题?
答案 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(); }
如果这有帮助,请告诉我们。 :)