- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
package action;
import java.util.ArrayList;
import tools.FsnTools;
import bean.FsnBody;
import bean.FsnModel;
public class FsnReaderAction {
public final static int intstep =2; //Uint16 字节长度
public final static int stringstep =4; //Uint32 字节长度
public final static int fsnHeadLengh =32; //fsn 文件头字节长度
public final static int fsnPerBodyNoImg =100; //fsn 文件体每条记录,不包
括图像信息的字节长度
public final static int fsnPerBodyImg =1644; //fsn 文件体每条记录,包括
图像信息的字节长度
public int filePos =0; //fsn 文件字节流当前指针位置
public FsnModel fm ; // 本实例解析的 FsnMedel 对象
public String fsnFilePath ; //FSN 文件的存储完整路径,包括文件名
public FsnReaderAction(String filePath){
this . fsnFilePath =filePath; }
public FsnModel readFsnFile() throws Exception {
// FsnModel ret=null;
try {
this . fm =new FsnModel( this . fsnFilePath ); //hzyimport 把文件转成字节流数组
byte [] fsnbytes =FsnTools. toByteArray ( this . fsnFilePath );
this . fm .setSize(fsnbytes. length );
System. out .println( File Lengh: +fsnbytes. length );
// 读取头文件
setHead(fsnbytes);
long counter = this . fm .getCounter(); // 冠字号信息条数 //
System.out.println(this.fm.getHeadString()[2]=+this.fm.getHeadStr
ing()[2]);
int size = this . fm .getHeadString()[2] != 0x2D ? fsnPerBodyImg :
fsnPerBodyNoImg ;
// System.out.println(this.fm.getHeadString()[2]
=+this.fm.getHeadString()[2] );
// System.out.println(counter =+counter);
// System.out.println(size=+size);
// System.out.println(counter =* size+counter * size);
// System.out.println(fsnHeadLengh=+fsnHeadLengh);
// 如果fsn 文件的长度合一致
if (counter * size + fsnHeadLengh == fsnbytes. length ) {
ArrayListFsnBody list = new ArrayListFsnBody();
long ValutaSum=0;
for ( int i = 0; i counter; i++) {
FsnBody body = new FsnBody();
boolean noException= false ; // 处理过程中没有异常
// 每条fsn 信息均从 i * size + 32( 头的长度 ) 处起始 int thisPosSart=i * size + fsnHeadLengh ;
// 此处处理非常重要, 在读取图片文件前一定要做处理因为图片字节 流长度固定, 644位,getSnoExpImg 方法只读到图片信息中有数据部分对应的字节流,后
面的都是空值,将不再读取
// 某条图片数据读完以后, filePos 不一定会移至这个图片数据对应 的结尾位置,要在读取下一条数据时,强制将 filePos 指向下一条图片信息对应字节流起
始位置
if ( filePos t
您可能关注的文档
最近下载
- 人教版-小升初考试数学专题讲练:第21讲 植树问题.doc VIP
- 影棚及摄像器材租赁报价单.pdf
- 应用博弈论解决海盗分金问题.pptx VIP
- 2025年高考天津卷作文“车轮辐辏”审题立意及范文 .pdf
- 挖掘红色资源开发校本课程图文.pdf VIP
- 围手术期预防应用抗菌药物专项点评及干预效果分析.doc VIP
- 建筑施工危险源辨识及风险评价清单500项.pdf VIP
- 四川成都高新科技创新投资发展集团有限公司招聘笔试题库2025.pdf
- IATF16949--过程审核检查表-(含审核记录)-.pdf VIP
- 2026西南证券股份有限公司校园招聘300人考试备考试题及答案解析.docx VIP
原创力文档


文档评论(0)