memo欄位的儲存格式:
/*備註頭記錄
位元組偏移 說明
00 - 03 下乙個自由塊的位置1
04 – 05 未使用
06 – 07 塊大小(每個塊的位元組數)1
08 – 511 未使用
1 儲存整數時,高位位元組在前。
備註塊標頭與備註文字
位元組偏移 說明
00 – 03 塊簽名 1 (指示塊中資料的型別)
0 – (字段型別)
1 – 文字(備註字段型別)
04 – 07 備註長度 1 (以位元組為單位)
08 – n 備註文字(n = 長度)
1 儲存整數時,高位位元組在前。 */
構建乙個新的建構函式
public dbfreader( inputstream in, inputstream memo) throws dbfexception catch (ioexception e)
}private void initmemoinputstream() throws ioexception
在nextrecord()方法中,
case 'm':
// todo later
這個位置進行memo欄位處理,加了如下**:
case 'm':
// todo later
// dbf跳過memo欄位
byte b_memoproxy = new byte[ this.header.fieldarray[i].getfieldlength()];
datainputstream.read( b_memoproxy);
// 讀取fpt欄位
int itype = utils.readhighendianint(memoinputstream);
if (itype == 1) else
}break;
此時,完成了memo欄位的讀入,下面附上readhighendianint的**,在utils類中實現
public static int readhighendianint( datainput in)
throws ioexception
return bigendian;
}public static short readhighendianshort( datainput in)
throws ioexception
java匯出DBF的使用
dbffield.field type d 表示date型 dbffield.field type l 表示布林型 dbffield.field type n 表示數字 dbffield.field type c 表示字串 dbffield.field type f 表示浮點型 dbffield.f...
java 反射機制(Field)對類的字段進行操作
設定變數setfield field userinfo.getclass getdeclaredfield name 私有變數set需呼叫此方法 field.setaccessible true 字元型別名稱 string fieldtypename field.gettype get name 暫...
ASP對FoxPro自由表 DBF檔案 的操作
tag aspfoxpro dbf資料庫 一 問題的提出 經常看到網上有朋友問asp對foxpro庫表 dbf 的操作問題,現實中確有許多應用軟體使用dbf表,如何在網路環境中使用這些資料,使很多朋友一籌莫展。本人在乙個小專案中也遇到這個問題,通過查閱資料,多次試驗,初步解決了這個問題,寫出來與大家...