我有一个Java批处理作业,我正在写入编写器中的文件。
我正在写入MVS数据集并使用ZFile的write(byte[] buf)写入文件。
但是,不是将每条记录写入新行,而是在同一行中写入(即使末尾的 Java 字符串中有一个"")。是否需要为此传递任何参数?
recfm 为 fb,类型为 record。记录长度为 80,但所有记录的长度可能不是 80
String pdsName = ZFile.getSlashSlashQuotedDSN("A.B.C.D");
try {
// dsnFile = new ZFile(pdsName ,"wb,type=record,recfm=fb,lrecl=80,noseek");
} catch (ZFileException e) {
e.printStackTrace();
}
for(Object o: listOfStrings){
String s = (String)o;
try {
dsnFile.write(s.getBytes());
} catch (ZFileException e) {
e.printStackTrace();
}
}
您正在尝试以"写入二进制"格式打开输出文件。 您可以尝试使用"写入文本"代替
dsnFile = new ZFile(pdsName ,"wt,recfm=fb,lrecl=80,blksize=0");