首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法转换后台文件数据- Java (JT400)

无法转换后台文件数据- Java (JT400)
EN

Stack Overflow用户
提问于 2013-08-20 06:57:45
回答 2查看 1K关注 0票数 1

我试图使用Java (JT400)转换(读取) *SCS假脱机文件,但是当我试图转换它时,我得到了以下错误消息

"com.ibm.as400.access.AS400Exception: CPF3394不能转换假脱机文件数据。“

有人知道怎么解决这个问题吗?

代码语言:javascript
复制
               AS400 sys = new AS400();
    SpooledFile sf = new SpooledFile( sys,          // AS400
                                        "CUSR_R1",       // splf name
                                        2,           // splf number
                                        "QPADEV003H",    // job name
                                        "USER",      // job user
                                        "096018" );   // job number
   PrintObjectInputStream inputStream = sf.getInputACIFMergedStream(true);
   System.out.println ("size " + inputStream.available());
   BufferedReader d = new BufferedReader(new InputStreamReader(inputStream));
       String data ="";
       while((data = d.readLine() )!=null)
       {
        System.out.println (data);
        }
    } catch (Exception e) {
        System.out.println(e);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-21 06:01:19

固定守则(答覆):

代码语言:javascript
复制
try {
        
               AS400 sys = new AS400("");
    SpooledFile sf = new SpooledFile( sys,          // AS400
                                        "CUSR_R1",       // splf name
                                        2,           // splf number
                                        "QPADEV003H",    // job name
                                        "USER",      // job user
                                        "096018" );   // job number

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

// Create a page input stream from the spooled file
PrintObjectPageInputStream is = sf.getPageInputStream(printParms);

BufferedReader d = new BufferedReader(new InputStreamReader(is));
       String data ="";
       while((data = d.readLine() )!=null)
       {
        System.out.println (data);
        }
    } catch (Exception e) {
        System.out.println(e);
    }

}  
票数 3
EN

Stack Overflow用户

发布于 2013-08-20 19:44:19

对于*SCS假脱机文件,您可能应该使用getInputStream。

不推荐使用getInputACIFMergedStream,应该使用getAFPInputStream,但只对*AFPDS假脱机文件使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18328788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档