这次需求是采用2进制分别生成索引文件和数据文件,索引文件每次写21个字节,21个字节格式是固定的.数据文件里保存的是java对象,这里特别得注意,这个数据文件和索引文件最后都需要c程序修改的,最后我来解析:(
索引文件:long->bytes[],int->bytes[],偏移和长度必须正确.
java中有read(bytes),每次读21个.
数据文件采用的是RandomAccessFile,因为可以将文件指针移到开始,不必频繁打开数据流.移到开始只需要seek(0)就可以了.
skipBytes(位移),然后read(bytes),最后oro正则解析.
原来计算偏移用available后来发现不行,还是自己在写的时候就必须要记住自己写的字节数组的长度,然后自己计算,这样才不会出错.
不能够太依靠API,能手工的还是手工比较好.
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8503278/viewspace-889975/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8503278/viewspace-889975/