0

我有一个 Java 批处理作业,我正在写入器中的一个文件。

我正在写入 MVS 数据集并使用 ZFile 的 write(byte[] buf) 写入文件。

然而,不是在新行中写入每条记录,而是在同一行中写入(即使 Java 字符串末尾有一个“\n”)。是否需要为此传递任何参数?

recfm 是 fb,type 是 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();
    }
}
4

1 回答 1

0

您正在尝试以“写入二进制”格式打开输出文件。您可以尝试改用“写文本”

    dsnFile = new ZFile(pdsName ,"wt,recfm=fb,lrecl=80,blksize=0");   
于 2019-07-15T05:55:04.823 回答