File io JSR352:如何从Java批处理程序写入MVS数据集?

File io JSR352:如何从Java批处理程序写入MVS数据集?,file-io,jsr352,java-batch,mvs,File Io,Jsr352,Java Batch,Mvs,我需要写入大型机中的非VSAM数据集。我知道我们需要使用ZFile库来完成这项工作,我发现了如何完成这项工作 我正在WebSphere Liberty on zOS上运行Java批处理作业。如何指定数据集?我可以直接给数据集这样一个名称吗 dsnFile=newzfile(“X.Y.Z”,“wb,type=record,nosek”) 我能够使用Java的文件编写器将其写入服务器本身的文本文件,但我不知道如何访问mvs数据集 我对zOS和大型机的世界还比较陌生。听起来您可能会更普遍地询问如何在z

我需要写入大型机中的非VSAM数据集。我知道我们需要使用ZFile库来完成这项工作,我发现了如何完成这项工作

我正在WebSphere Liberty on zOS上运行Java批处理作业。如何指定数据集?我可以直接给数据集这样一个名称吗

dsnFile=newzfile(“X.Y.Z”,“wb,type=record,nosek”)

我能够使用Java的文件编写器将其写入服务器本身的文本文件,但我不知道如何访问mvs数据集


我对zOS和大型机的世界还比较陌生。

听起来您可能会更普遍地询问如何在z/OS上的WebSphere Liberty上使用ZFileAPI

你有没有试过这样的方法:

    String pdsName = ZFile.getSlashSlashQuotedDSN("X.Y.Z");
    ZFile zfile = new ZFile(pdsName , ...options...)
对于特定于批处理的用例,您可能显然必须区分写入原始执行时第一次创建的新文件与重新启动时追加到现有文件之间的区别

你也可以在这里找到一些有用的剪贴簿,以及你发布的原始链接

作为参考,我将从以下位置复制/粘贴:

最后一点,另一对有用的ZFile辅助方法是:bpxwdyn()getfullyqualifieddn()

ZFile dd = new ZFile("//DD:MYDD", "r");

Opens the DD namee MYDD for reading

ZFile dsn = new ZFile("//'SYS1.HELP(ACCOUNT)'", "rt");

Opens the member ACCOUNT from the PDS SYS1.HELP for reading text records

ZFile dsn = new ZFile("//SEQ", "wb,type=record,recfm=fb,lrecl=80,noseek");

Opens the data set {MVS_USER}.SEQ for sequential binary writing. Note that ",noseek" should be specified with "type=record" if access is sequential, since performance is greatly improved.