Dat打包机制及工具使用方法
一、dat文件格式
有三部分: 控制头、文件信息、文件内容,下面以字节为单位。
|-----------------------| |
| 控制头(共32个字节) | |在文件中的偏移量,从低到高
|-----------------------| |
| 文件信息 | |
|-----------------------| |
| 文件内容 | v
|-----------------------|
1、控制头(共32个字节)
偏移 内容
0~2 0x180x1c0x1d (是因为jspacked为: 0x180x190x1a或0x180x190x1b, 要能区分开来)
3~9 保留
10 版本号,现在为0x2,后期可以升级,0x3,…
11~24 修改时间,按YYYYMMDDHHMMSS存放
25~28 文件个数,按网络字节序存放, 设为fn
29 保留
30~31 0x0D0x0A (\r\n)
2、文件信息
共有 fn+1 条变长文件信息记录, 其每条记录采用结构struct tagrdfs_rec2
成员b_len为name的长度
最后一条记录为空记录
3、文件内容
共有 fn 个文件
二、使用方法
在项目在加入DATUtil.jar,在java类中加入代码“import cn.ipanel.apps.util.DATUtil;”
/**
* @param uiListTxtPath -- list.txt路径
* @param fielDirPath -- list中描述文件的所在目录
* @param outFilePath -- dat输出路径
* @return
*/
DATUtil.datMaker(uiListTxtPath, fielDirPath, outFilePath);
uilist.txt内容为:
1.css
1.gif
1.js
40.gif
index.htm
一、dat文件格式
有三部分: 控制头、文件信息、文件内容,下面以字节为单位。
|-----------------------| |
| 控制头(共32个字节) | |在文件中的偏移量,从低到高
|-----------------------| |
| 文件信息 | |
|-----------------------| |
| 文件内容 | v
|-----------------------|
1、控制头(共32个字节)
偏移 内容
0~2 0x180x1c0x1d (是因为jspacked为: 0x180x190x1a或0x180x190x1b, 要能区分开来)
3~9 保留
10 版本号,现在为0x2,后期可以升级,0x3,…
11~24 修改时间,按YYYYMMDDHHMMSS存放
25~28 文件个数,按网络字节序存放, 设为fn
29 保留
30~31 0x0D0x0A (\r\n)
2、文件信息
共有 fn+1 条变长文件信息记录, 其每条记录采用结构struct tagrdfs_rec2
成员b_len为name的长度
最后一条记录为空记录
3、文件内容
共有 fn 个文件
二、使用方法
在项目在加入DATUtil.jar,在java类中加入代码“import cn.ipanel.apps.util.DATUtil;”
/**
* @param uiListTxtPath -- list.txt路径
* @param fielDirPath -- list中描述文件的所在目录
* @param outFilePath -- dat输出路径
* @return
*/
DATUtil.datMaker(uiListTxtPath, fielDirPath, outFilePath);
uilist.txt内容为:
1.css
1.gif
1.js
40.gif
index.htm