1

我正在编写 Java 代码来更新 ICL(x937 格式)检查 21 文件。这是包含现金信(支票)的详细信息和图像的文件我的要求是获取现有文件。编辑一些值并创建一个新文件。

我写了下面的代码。

private void writeItemData(ForwardPresentmentBundle bundle) throws Exception {
    System.out.println("WRITE ITEM DATA");
    Iterator<ICLItem> it = bundle.getItemList().iterator();
    while (it.hasNext()) {
        ICLItem item = it.next();

        String [] dataToReplace1=dataPassed.split("\\,");
        int sizeOfData=dataToReplace1.length;
        int indexOfICL=0;

        for(int i=0;i<sizeOfData;i++){
            String param=(dataToReplace1[i].split("\\="))[0];
            String value=(dataToReplace1[i].split("\\="))[1];
            System.out.println("Param : "+param+"  |  value : "+value);

            /* write the check detail record */
            len = RecordLength.intToByteArray(item.getCheckDetail().getRecordLength(), 4);
            data = item.getCheckDetail().getBytes();
            System.out.println("Lenght : "+len+" | Data : "+data);
            writeData();

            /* write any addendum records */
            // TODO: implement writing of other addendum record types
            for (int i = 0; i < item.getCheckDetailAddendumAList().size(); i++) {
                len = RecordLength.intToByteArray(item.getCheckDetailAddendumAList().get(i).getRecordLength(), 4);
                data = item.getCheckDetailAddendumAList().get(i).getBytes();
                //((item.getCheckDetailAddendumAList()).get(4)).setFieldData(4, "44");
                System.out.println("========= *********8 ============");
                //System.out.println(">> >> << <<");
                // System.out.println(" >>> "+(item.getCheckDetailAddendumAList()).get(4));


                /*  System.out.println("Count : "+i);
                System.out.println("Lenght : "+len+" | Data : "+data);
                CheckDetailRecord cdr = new CheckDetailRecord();
                System.out.println(cdr.getFieldNameAtPosition(5));
                System.out.println(cdr.getFieldDataAtPosition(5));
                cdr.setFieldData(5, "6");
                System.out.println(cdr.getFieldDataAtPosition(5));*/
                writeData();
            }

            for (int i = 0; i < item.getCheckDetailAddendumCList().size(); i++) {
                len = RecordLength.intToByteArray(item.getCheckDetailAddendumCList().get(i).getRecordLength(), 4);
                data = item.getCheckDetailAddendumCList().get(i).getBytes();
                writeData();
            }

            /* write the image view records */
            writeImageData(item);
        }
    }
}

这是创建 ICL 文件,但图像未正确复制到新文件中。使用 x-editor 验证。

在这方面需要帮助。

4

0 回答 0