我在OS X Mavericks上并开始学习protobuf,我从https://code.google.com/p/protobuf/downloads/list下载该示例
我成功地能够从原型创建.java文件,但在使用时编译现有的Java代码
make java,我得到以下错误
com/example/tutorial/AddressBookProtos.java:91: package com.google.protobuf does not exist
com.google.protobuf.GeneratedMessage
^
com/example/tutorial/AddressBookProtos.java:12: package com.google.protobuf does not exist
extends com.google.protobuf.MessageOrBuilder {
^
com/example/tutorial/AddressBookProtos.java:9: package com.google.protobuf does not exist
com.google.protobuf.ExtensionRegistry registry) {
^
com/example/tutorial/AddressBookProtos.java:2495: package com.google.protobuf.Descriptors does not exist
private static com.google.protobuf.Descriptors.Descriptor
^
com/example/tutorial/AddressBookProtos.java:2498: package com.google.protobuf.GeneratedMessage does not exist
com.google.protobuf.GeneratedMessage.FieldAccessorTable
....
....
Run Code Online (Sandbox Code Playgroud)
有什么决议吗?
谢谢
如何使用RecordEditor从Cobol Copybook生成Java~JRecord代码 来读取/写入二进制 EBCDIC 大型机文件。
这是一个问题和答案,试图防止提出一些糟糕/误导性的问题或可以指出答案。
我正在尝试为我的数据文件创建一个副本结构.
部分数据如下所示
C 0000.00
Run Code Online (Sandbox Code Playgroud)
因为它有0000.00,在我的字帖中,我们宣布它为PIC 9(04)v9(02).
但是当我使用fileaid映射它时,我收到此错误
15 EF-PURCH-FEE-AMT 6/AN 0000.0
15 EF-FILLER4 975/AN 0
Run Code Online (Sandbox Code Playgroud)
小数点被视为另一个字节,最后一个零点溢出到后续字段中
我试图通过给出值为PIC ZZZ9V99来将图片子句定义为分区十进制.但它仍然涌入下一个领域.
预期结果.:
15 EF-PURCH-FEE-AMT 6/AN 0000.00
15 EF-FILLER4 975/AN 0
Run Code Online (Sandbox Code Playgroud)
实际结果:
15 EF-PURCH-FEE-AMT 6/AN 0000.0
15 EF-FILLER4 975/AN 0
Run Code Online (Sandbox Code Playgroud)
截至目前的PIC定义:
15 EF-PURCH-FEE-AMT PIC ZZZ9V99.
15 EF-FILLER4 PIC X(975).
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JRecord读取COBOL数据文件,因为我有一个Header记录和Detail记录,因此我使用SPLIT_01_LEVEL和CopyBook文件格式解析为FMT_OPEN_COBOL.我在平面文件中有几个日期字段作为COMP-3字段,我无法理解如何将它们转换为Java日期字段.
ICobolIOBuilder iob = CobolIoProvider.getInstance()
.newIOBuilder(copybookName)
.setCopybookFileFormat(Convert.FMT_OPEN_COBOL)
.setSplitCopybook(CopybookLoader.SPLIT_01_LEVEL);
//I fetched fields as below
line.getFieldValue(field).asString();
Run Code Online (Sandbox Code Playgroud)
CopyBook的字段为
MPOH-ENTRY-DATE PIC S9(7) COMP-3.
MPOH-STATUS-DATE PIC S9(7) COMP-3.
MPOH-APPROVED-DATE PIC S9(7) COMP-3.
MPOH-ORDER-DATE PIC S9(7) COMP-3.
Run Code Online (Sandbox Code Playgroud)
当我按上面解析输出时
MPOH-ENTRY-DATE : 11261a1
MPOH-STATUS-DATE : 11261a1
MPOH-APPROVED-DATE : 11261a1
MPOH-ORDER-DATE : 11266140
Run Code Online (Sandbox Code Playgroud)
请帮我将这些字段转换为Java Date字段.
我有使用名为"Sign Embedded"的数据类型以格式存储的数据
签署嵌入式
此数据类似于数字字符数据,但是,符号将嵌入字段的最右侧字节中.
这就是说,HELP但我不知道如何将其转换为普通的数字字符数据
我在这里有一些这些数据的例子
2698388x = -26983888
1665289w = -16652897
19200p = -192000
72119v = -721196
Run Code Online (Sandbox Code Playgroud)
这是按位操作......我猜,但我不知道确切的算法.
如果有人可以帮我解决这个问题,我将不胜感激:)
ps.this数据是由COBOL程序生成的(虽然....无关紧要)