IBM as400假脱机文件读取

时间:2013-10-11 17:06:20

标签: java ibm-midrange jt400

有没有办法在没有其他详细信息的情况下获取假脱机文件数据(页码,报告行尾,文件详细信息行)

我的代码:

AS400 sys = new AS400();  
SpooledFile sf = new SpooledFile( sys,          // AS400
                                        SPLFNAME,       // splf name
                                        SPLNO,           // splf number
                                        JOBNAME,    // job name
                                        JOBUSER,      // job user
                                        JOBFNUMBER );

PrintParameterList printParms = new PrintParameterList();
printParms.setParameter(PrintObject.ATTR_WORKSTATION_CUST_OBJECT,  "/QSYS.LIB/QWPDEFAULT.WSCST");
printParms.setParameter(PrintObject.ATTR_MFGTYPE, "*WSCST");
PrintObjectTransformedInputStream is = sf.getTransformedInputStream(printParms);

BufferedReader d = new BufferedReader(new InputStreamReader(is));
        String data = "";
while((data = d.readLine()) != null)
{
    System.out.println (data);
    jTextArea1.append(data + "\n");

}

输出假脱机文件:

PROGRAM ID:  XXXXXXX                            COMPANY NAME 1                                     REPORT DATE:  9/27/13 PAGE:    1  
USER      :  XXXXXXX                          Loan file list                                    REPORT TIME: 12:59:53

ID      NAME  
--------------------------------------------------------------------  
01      AAAAAAA  
02      BBBBBBB  
03      CCCC 
04      DDDDDDD 

PROGRAM ID:  XXXXXXX                            COMPANY NAME 1                                        REPORT DATE:  9/27/13 PAGE:    2  
USER      :  XXXXXXX                          Loan file list                                      REPORT TIME: 12:59:53

ID      NAME  
--------------------------------------------------------------------  
05      EEEEEEE  
06      FFFFFF  
07      GGGGGG  
08      HHHHHHH  

**************************       End of Report       ***************************

我希望像这样获得输出

ID      NAME  
--------------------------------------------------------------------  
01      AAAAAAA  
02      BBBBBBB  
03      CCCC 
04      DDDDDDD 

ID      NAME  
--------------------------------------------------------------------  
05      EEEEEEE  
06      FFFFFF  
07      GGGGGG  
08      HHHHHHH

或:

01      AAAAAAA  
02      BBBBBBB  
03      CCCC 
04      DDDDDDD 

05      EEEEEEE  
06      FFFFFF  
07      GGGGGG  
08      HHHHHHH

任何人都知道如何做到这一点?使用更新我的JT400 Java代码或格式化这个假脱机文本文件

1 个答案:

答案 0 :(得分:2)

没有。没有用于识别细节线的内置机制。就假脱机文件而言,它们都是细节线。您必须扫描每一行,看它是否与您要捕获的行的布局相匹配。例如,位置1的非空白,位置3-8的空白,然后是位置9-12的非空白。您需要另一次扫描才能接受虚线。