最近头都被客户搞大了,要搞个定时任务,定时读取dbf文件里面几列,经过规则运算后得到结果,然后定时发送给客户以短信和email的方式
网上搜了一把,关于读取dbf文件,大部分都是用javadbf.jar来处理
但是问题太多了,其中我遇到的就是类型转换问题! 搞了我好久都没搞出来 是他内部的bug!
最后问了一下同事 原来jdk里面自带的一个架包就能处理这个读取dbf的问题!
基于那个架包写了几个类 完成读取dbf文件
public void readShow2003Dbf() {
FileChannel channel = null;
DBFFileReader dbfreader = null;
String s3 = "";
String s8 = "";
double rs=0;
//NumberFormat format = NumberFormat.getInstance();
NumberFormat format=NumberFormat.getInstance(new Locale("zh","CN"));
format.setGroupingUsed(false);
try {
channel = (new FileInputStream("E:\\show2003.dbf"))
.getChannel();
dbfreader = new DBFFileReader(channel, true);
int fields = dbfreader.getHeader().getNumFields();
int j=0;
while (dbfreader.hasNext()) {
DBFFileReader.Row row = dbfreader.readRow();
if (row.read(0).equals("010110")) {
// 取指数日期时间
s3 = ("" + row.read(2)).trim();
s8 = ("" + row.read(7)).trim();
System.out.println(s3+"^^^^^^^^^^^^^^^^^^^^^"+s8);
String temp1=format.format(row.read(2));
String temp2=format.format(row.read(8));
rs=Double.valueOf(temp1)/Double.valueOf(temp2);
System.out.println(rs);
} /*else {
// 取指数值
//for (int i = 0; i < fields; i++) {
System.out.println(row.read(0));
if(row.read(0)!=null && !row.read(0).equals("")){
j++;
}
}*/
}
System.out.println("总记录数:"+j);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 关闭对象
dbfreader.close();
channel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
dbf-jdbc-wisecoders,JAVA 读写DBF文件工具包
java读取dbf文件,整套代码放到工程下能直接运行看到代码
Java读取DBF文件jar包以及测试用例 Java读取DBF文件jar包以及测试用例
Java读取DBF文件jar包javadbf.jar,像高考分数一般导出都是dbf文件。
Java读取DBF文件jar包以及测试用例
使用Java实现对dbf文件的简单读写.
包括java读写dbf文件源码,可改写重用,可用于生成dbf文件或解析dbf文件获取数据。
免费资源大家共享
用JavaDBF操作(读、写)DBF文件
封装了大数据DBF的读取、写入,并附有所使用javadbf.jar文件
java 实现DBF文件读取与创建
用java解析dbf文件,三种方法,一种按行解析,另两种是要把dbf当做一个表来进行操作就像查询一样 解析驱动是把dbf文件当做表来解析,两种方法中其中一种要装驱动,另一种不要装,这取决你的dbf文件的格式
使用Java NIO 包下的RandomAccessFile读取DBF文件(可以拓展到多线程读取大文件)
主要介绍了java通过javadbf读取和生成DBF文件的方法,大家参考使用吧
Java解析某些DBF文件时喜欢出错误,错误一:Failed to parse Number: For input string: "-.---" , 错误二:有时候有些被标记为删除的数据读取不出来,已打成jar包
Java下读写DBF数据库文件格式研究.pdf
DBF文件读取的类,用于读取一般的DBF格式文件
该项目包含了项目所需要的jar包以及测试案例。项目使用环境为eclipse jdk1.8 1.poi.Testpoi为测试用例;...3.解决了javadbf读取dbf文件表头和数据乱码问题,com.webadmin.util.dbf.DBFReaderTest为测试用例。
JAVA直接连接access数据库dbf文件,同时兼容LINUX、UNIX、WINDOWS操作系统。示例工程代码,导入eclipse即可运行。
读取shp文件的代码,也可以读DBF属性