文件名称:
基于javadbf-0[1].4.0.jar包的dbf文件操作源码
开发工具:
文件大小: 21kb
下载次数: 0
上传时间: 2008-12-04
详细说明: 一般的dbf文件都是数据库操作文件,用c语言进行操作的dll很多,但是java操作的很少,我找到了一个javadbf-0[1].4.0.jar的包,但是操作效果很不理想,尤其是末尾空格和乱码问题,于是我在这个jar包的基础上进行进一步开发,在尽量不影响效率的情况下,增加了对dbf各个方面的处理功能:查询,创建,copy文件结构等功能,目前没有发现bug,说明文档在程序中很详细,以下是我的说明演示部分代码,此源码需要5个积分,主要是因为可能需求不多,卖得少,成本高,望大家海涵:) 演示部分源码: public static void main(String[] args) { // TODO Auto-generated method stub /************************************************/ /* 初始化dbf操作对象 */ /************************************************/ DBF_tool dbf = new DBF_tool(); /********** **************************************/ /* 创建dbf操作,生成"creatDBF.dbf",此处采用相对路径 */ /* 也可以用绝对路径进行创建 */ /************************************************/ System.out.println("正在创建dbf文件:creatDBF.dbf ..."); dbf.createFile("creatDBF.dbf"); //dbf.createFile("D:\\creatDBF.dbf");//绝对路径 /************************************************/ /* 创建dbf表头信息,此处只能一次性输入所有表头信息 */ /* 表头信息由FiledInfor类生成,然后放入vector中 */ /* 此处为:编号,姓名,年龄,salary(薪水),出生日期 */ /************************************************/ System.out.println("创建dbf文件表头信息 ..."); FiledInfor filedinfor;//表头信息对象 Vector vecTitle = new Vector(); filedinfor = new FiledInfor(); filedinfor.filedDataType = DBF_tool.FIELD_TYPE_C;//类型 filedinfor.filedName = "编 号"; //名称 filedinfor.fieldLength = 8; //长度 vecTitle.add(filedinfor); filedinfor = new FiledInfor(); filedinfor.filedDataType = DBF_tool.FIELD_TYPE_C; filedinfor.filedName = "姓 名"; filedinfor.fieldLength = 12; vecTitle.add(filedinfor); filedinfor = new FiledInfor(); filedinfor.filedDataType = DBF_tool.FIELD_TYPE_N; filedinfor.filedName = "年 龄"; filedinfor.fieldLength = 5; filedinfor.decimalCount = 0; //精度 vecTitle.add(filedinfor); filedinfor = new FiledInfor(); filedinfor.filedDataType = DBF_tool.FIELD_TYPE_F; filedinfor.filedName = "salary";//不支持"salary(**)"这种方式,但支持中英文结合 filedinfor.fieldLength = 7; filedinfor.decimalCount = 2; vecTitle.add(filedinfor); filedinfor = new FiledInfor(); filedinfor.filedDataType = DBF_tool.FIELD_TYPE_D; filedinfor.filedName = "出生日期"; vecTitle.add(filedinfor); dbf.writeFiled(vecTitle); /************************************************/ /* 创建dbf表内容信息 */ /************************************************/ System.out.println("向dbf文件中添加内容 ..."); String dbfLine;//dbf每行的内容,filed之间以","分隔 dbfLine = "000001,经理,36,15000.00,88-12-9"; dbf.writeDBFLine(dbfLine); dbfLine = "000002,助理,30,10000.00,82-3-17"; dbf.writeDBFLine(dbfLine); dbfLine = "000003,小兵1,25,4000.12,87-5-20"; dbf.writeDBFLine(dbfLine); dbfLine = "000004,小兵2,28,4200,07-2-15"; dbf.writeDBFLine(dbfLine); dbfLine = "000005,小兵3,29,3800.00,02-4-23"; dbf.writeDBFLine(dbfLine); /************************************************/ /* 关闭创建dbf表操作,此为必须操作 */ /************************************************/ System.out.println("创建表操作结束!"); dbf.close(); /************************************************/ /* 打开dbf操作,绝对路径和相对路径皆可 */ /************************************************/ dbf = new DBF_tool(); System.out.println("正在打开dbf文件:creatDBF.dbf ..."); dbf.openFile("creatDBF.dbf"); System.out.println("分析..."); /************************************************/ /* 得到dbf的行列个数 */ /************************************************/ System.out.println("此dbf文件的数据有:"+dbf.DBFGetRecordCount()+ "行,"+dbf.DBFGetFieldCount()+"列,"); /*******************************************************/ /* 得到dbf各个字段的详细信息(目前可以得到:名称、类型、长度、精度 */ /*******************************************************/ System.out.println("各个字段的详细信息为:"); for (int i = 0; i < dbf.DBFGetFieldCount(); i++) { filedinfor = dbf.getDBFFiledInfor(i); System.out.println("name:"+filedinfor.filedName+" length:"+filedinfor.fieldLength); } /************************************************/ /* 得到指定名称在dbf中的位置 */ /************************************************/ System.out.println("其中,年龄在dbf表中的位置是:"+dbf.getDBFFiledNum("年 龄")); /************************************************/ /* 得到dbf中指定行数和列数的值,参数从0计 */ /************************************************/ System.out.println("第3行,第2列的值是:"+dbf.getContent(2, 1)); dbf.close(); /************************************************/ /* 复制dbf文件表头部分功能 */ /************************************************/ dbf = new DBF_tool(); System.out.println("将creatDBF.dbf的文件结构复制到新的文件copy.dbf中..."); dbf.copyDBFtitle("creatDBF.dbf", "copy.dbf"); dbf.close(); System.out.println("演示结束!"); } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.