DBF文件简介(转)
來自:http://www.blogjava.net/chiefwolf/articles/167724.html
DBF的文件格式:????
| 文件頭 |
| 記錄1 |
| 記錄2 |
| 記錄3 |
| … |
| … |
| … |
| 記錄n |
BDF文件頭的詳細(xì)格式:
?
| 在文件中的位置 | 內(nèi)容 | 說明 |
| 0 | 1個字節(jié) | 表示當(dāng)前的版本信息 |
| 1-3 | 3個字節(jié) | 表示最近的更新日期,按照YYMMDD格式。 |
| 4-7 | 1個32位數(shù) | 文件中的記錄條數(shù)。 |
| 8-9 | 1個16位數(shù) | 文件頭中的字節(jié)數(shù)。 |
| 10-11 | 1個16位數(shù) | 一條記錄中的字節(jié)長度。 |
| 12-13 | 2個字節(jié) | 保留字節(jié),用于以后添加新的說明性信息時使用,這里用0來填寫。 |
| 14 | 1個字節(jié) | 表示未完成的操作。 |
| 15 | 1個字節(jié) | dBASE IV編密碼標(biāo)記。 |
| 16-27 | 12個字節(jié) | 保留字節(jié),用于多用戶處理時使用。 |
| 28 | 1個字節(jié) | DBF文件的MDX標(biāo)識。在創(chuàng)建一個DBF 表時 ,如果使用了MDX 格式的索引文件,那么 DBF 表的表頭中的這個字節(jié)就自動被設(shè)置了一個標(biāo)志,當(dāng)你下次試圖重新打開這個DBF表的時候,數(shù)據(jù)引擎會自動識別這個標(biāo)志,如果此標(biāo)志為真,則數(shù)據(jù)引擎將試圖打開相應(yīng)的MDX 文件。 |
| 29 | 1個字節(jié) | Language driver ID. |
| 30-31 | 2個字節(jié) | 保留字節(jié),用于以后添加新的說明性信息時使用,這里用0來填寫。 |
| 32-X | (n*32)個字節(jié) | 記錄項信息描述數(shù)組。n表示記錄項的個數(shù)。這個數(shù)組的結(jié)構(gòu)在表2.8中有詳細(xì)的解釋。 |
| X+1 | 1個字節(jié) | 作為記錄項終止標(biāo)識。 |
DBF文件頭中記錄項的詳細(xì)格式:
?
| 位置 | 內(nèi)容 | 說明 |
| 0-10 | 11個字節(jié) | 記錄項名稱,是ASCII碼值。 |
| 11 | 1個字節(jié) | 記錄項的數(shù)據(jù)類型,是ASCII碼值。(B、C、D、G、L、M和N,具體的解釋見表2.9)。 |
| 12-15 | 4個字節(jié) | 保留字節(jié),用于以后添加新的說明性信息時使用,這里用0來填寫。 |
| 16 | 1個字節(jié) | 記錄項長度,二進(jìn)制型。 |
| 17 | 1個字節(jié) | 記錄項的精度,二進(jìn)制型。 |
| 18-19 | 2個字節(jié) | 保留字節(jié),用于以后添加新的說明性信息時使用,這里用0來填寫。 |
| 20 | 1個字節(jié) | 工作區(qū)ID。 |
| 21-30 | 10個字節(jié) | 保留字節(jié),用于以后添加新的說明性信息時使用,這里用0來填寫。 |
| 31 | 1個字節(jié) | MDX標(biāo)識。如果存在一個MDX 格式的索引文件,那么這個記錄項為真,否則為空。 |
? DBF文件中的數(shù)據(jù)類型:
| 代碼 | 數(shù)據(jù)類型 | 允許輸入的數(shù)據(jù) |
| B | 二進(jìn)制型 | 各種字符。 |
| C | 字符型 | 各種字符。 |
| D | 日期型 | 用于區(qū)分年、月、日的數(shù)字和一個字符,內(nèi)部存儲按照YYYYMMDD格式。 |
| G | (General or OLE) | 各種字符。 |
| N | 數(shù)值型(Numeric) | -?.?0 1 2 3 4 5 6 7 8 9 |
| L | 邏輯型(Logical) | ? Y y N n T t F f (??表示沒有初始化)。 |
| M | (Memo) | 各種字符。 |
舉例說明:
假如文件中有10條記錄,每個記錄有4個字段,4個字段的長度分別為:12、14、16、18,那么文件的詳細(xì)格式如下:
文件頭占32+32*4+2個字節(jié):
前32個字節(jié)是文件頭中的基本信息,32*4個字節(jié)是記錄項(即字段的定義信息),最后兩個字節(jié)分別是16進(jìn)制的0D 和20,0D代表上文表格中說明的記錄項終止標(biāo)識。20代表一個空格。
數(shù)據(jù)信息占(12+14+16+18)*10+1個字節(jié):
12+14+16+18個字節(jié)代表一條記錄,共10條記錄。最后一個字節(jié)是數(shù)據(jù)的終止表示通常是16進(jìn)制表示的1A
補(bǔ)充說明:
由于上述文件格式的定義,決定了字段名稱不能超過11個字節(jié)(或者5個中文字符),字符類型的字段,數(shù)據(jù)最大不能超過255個字節(jié)。在從文本、Excel、大型數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)到DBF格式文件時,一定要考慮到這些長度限制。?
總結(jié)
以上是生活随笔為你收集整理的DBF文件简介(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php公告滚动源码,如何利用JavaSc
- 下一篇: ARM9开发之学习过程总结