使用ZFile在新行中写入每条记录要写入文件?

时间:2016-07-07 05:54:04

标签: java file-io file-writing java-batch

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

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

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

recfm是fb,类型是记录。记录长度为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();
    }
}

1 个答案:

答案 0 :(得分:0)

您正试图以“写二进制”格式打开输出文件。您可以尝试使用“写文本”代替

    dsnFile = new ZFile(pdsName ,"wt,recfm=fb,lrecl=80,blksize=0");