91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 554KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-13
  • 語言: Java
  • 標(biāo)簽: Java??FSN??

資源簡(jiǎn)介

Java解析fsn文件源碼,包含詳細(xì)注釋,可以參考使用

資源截圖

代碼片段和文件信息

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字節(jié)長(zhǎng)度
public?final?static?int?stringstep=4;?//Uint32字節(jié)長(zhǎng)度
public?final?static?int?fsnHeadLengh=32;//fsn文件頭字節(jié)長(zhǎng)度
public?final?static?int?fsnPerBodyNoImg=100;?//fsn文件體每條記錄,不包括圖像信息的字節(jié)長(zhǎng)度
public?final?static?int?fsnPerBodyImg=1644;?//fsn文件體每條記錄,包括圖像信息的字節(jié)長(zhǎng)度
public?int?filePos=0;?//fsn文件字節(jié)流當(dāng)前指針位置
public?FsnModel?fm;???//本實(shí)例解析的FsnMedel對(duì)象
public?String?fsnFilePath?;//FSN文件的存儲(chǔ)完整路徑,包括文件名

public?FsnReaderAction(String?filePath){
this.fsnFilePath=filePath;
}

public?FsnModel?readFsnFile()?throws?Exception?{
// FsnModel?ret=null;
try{
this.fm=new?FsnModel(this.fsnFilePath);
//hzyimport?把文件轉(zhuǎn)成字節(jié)流數(shù)組
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();?//?冠字號(hào)信息條數(shù)
// System.out.println(“this.fm.getHeadString()[2]=“+this.fm.getHeadString()[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文件的長(zhǎng)度合一致
if?(counter?*?size?+?fsnHeadLengh?==?fsnbytes.length)?{
ArrayList?list?=?new?ArrayList();
long?ValutaSum=0;
for?(int?i?=?0;?i? FsnBody?body?=?new?FsnBody();
boolean?noException=false;??//處理過程中沒有異常
//每條fsn信息均從i?*?size?+?32(頭的長(zhǎng)度)處起始
int?thisPosSart=i?*?size?+?fsnHeadLengh;
//此處處理非常重要,在讀取圖片文件前一定要做處理因?yàn)閳D片字節(jié)流長(zhǎng)度固定,644位,getSnoExpImg方法只讀到圖片信息中有數(shù)據(jù)部分對(duì)應(yīng)的字節(jié)流,后面的都是空值,將不再讀取
//某條圖片數(shù)據(jù)讀完以后,filePos不一定會(huì)移至這個(gè)圖片數(shù)據(jù)對(duì)應(yīng)的結(jié)尾位置,要在讀取下一條數(shù)據(jù)時(shí),強(qiáng)制將filePos指向下一條圖片信息對(duì)應(yīng)字節(jié)流起始位置
if(filePos filePos=thisPosSart;
}
body?=?getSnoExpImg(fsnbytes);
body.setRecordNum(i+1);??//此條fsn記錄在fsn文件中的順序
ValutaSum?+=?body.getValuta();
if(size!=fsnPerBodyNoImg){
testSnoImg(fsnbytes);??//校驗(yàn)圖片數(shù)據(jù)合法性,如果不合法,將拋出異
//map.put(“ImageSno“?imageSno);?//圖片BufferedImage對(duì)象?,不能將此數(shù)據(jù)放入map,一是數(shù)據(jù)量大時(shí)內(nèi)存溢出,二是效率大打折
byte[]?imgbytes=FsnTools.byteCopy(fsnbytes?thisPosSart+fsnPerBodyNoImg?size-fsnPerBodyNoImg);
body.setImageBytes(imgbytes);?//圖片字節(jié)數(shù)組數(shù)據(jù)
imgbytes=null;?//及時(shí)釋放圖片字節(jié)數(shù)組對(duì)象,釋放內(nèi)
}else{
//map.put(“ImageSno“?null);
body.setImageBytes(null);
}
noException=true;

if(noException){???//當(dāng)沒有異常時(shí)記錄解析數(shù)據(jù)
list.add(body);
}else{
if(this.fm.isPermitException()){??//當(dāng)有異常時(shí),如果fsn配置文件允許記錄異常,則記錄,否則不記錄
list.add(body);
}
}
}

this.fm.setBodys(lis

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件????????301??2017-07-23?16:09??TestFsn\.classpath

?????文件????????383??2017-07-23?16:09??TestFsn\.project

?????文件????????598??2017-07-23?16:09??TestFsn\.settings\org.eclipse.jdt.core.prefs

?????文件???????6436??2017-07-23?21:46??TestFsn\bin\action\FsnReaderAction.class

?????文件???????3593??2017-07-23?21:39??TestFsn\bin\bean\FsnBody.class

?????文件???????3812??2017-07-23?21:36??TestFsn\bin\bean\FsnModel.class

?????文件????3192680??2017-07-23?21:46??TestFsn\bin\test\20150914910101.FSN

?????文件???????2270??2017-07-23?21:47??TestFsn\bin\test\FsnTest.class

?????文件??????10053??2017-07-23?21:38??TestFsn\bin\tools\FsnTools.class

?????文件???????9646??2017-07-23?21:46??TestFsn\src\action\FsnReaderAction.java

?????文件???????3686??2017-07-23?21:39??TestFsn\src\bean\FsnBody.java

?????文件???????3163??2017-07-23?21:36??TestFsn\src\bean\FsnModel.java

?????文件????????990??2017-07-23?21:47??TestFsn\src\test\FsnTest.java

?????文件??????12589??2017-07-23?21:38??TestFsn\src\tools\FsnTools.java

?????目錄??????????0??2017-07-23?16:10??TestFsn\bin\action

?????目錄??????????0??2017-07-23?21:35??TestFsn\bin\bean

?????目錄??????????0??2017-07-23?21:46??TestFsn\bin\test

?????目錄??????????0??2017-07-23?21:37??TestFsn\bin\tools

?????目錄??????????0??2017-07-23?16:10??TestFsn\src\action

?????目錄??????????0??2017-07-23?21:35??TestFsn\src\bean

?????目錄??????????0??2017-07-23?21:46??TestFsn\src\test

?????目錄??????????0??2017-07-23?21:37??TestFsn\src\tools

?????目錄??????????0??2017-07-23?16:09??TestFsn\.settings

?????目錄??????????0??2017-07-23?21:37??TestFsn\bin

?????目錄??????????0??2017-07-23?21:37??TestFsn\src

?????目錄??????????0??2017-07-23?16:09??TestFsn

-----------?---------??----------?-----??----

??????????????3250200????????????????????26


評(píng)論

共有 條評(píng)論

相關(guān)資源