java读取DBF文件
前段时间项目中用到了读取DBF文件,原本以为DBF文件可以用excel打开,所以想当然的用JXL解析excel的方法读取DBF文件,在解析过程中果然报了异常。于是从网上查了下、有专门的读取DBF的工具,我用的是javadbf.jar。具体的java操作DBF文件代码如下:public static void readDBF(String path)
{ InputStream fis = null; try { //读取文件的输入流 fis = new FileInputStream(path); //根据输入流初始化一个DBFReader实例,用来读取DBF文件信息 DBFReader reader = new DBFReader(fis); //设置编码方式,防止中文乱码 reader.setCharactersetName("GB2312"); //调用DBFReader对实例方法得到path文件中字段的个数 int fieldsCount = reader.getFieldCount(); for( int i=0; i<fieldsCount; i++) { DBFField field = reader.getField(i); System.out.println(field.getName()); fieldList.add(field.getName()); } Object[] rowValues; //一条条取出path文件中记录 while((rowValues = reader.nextRecord()) != null) { for( int i=0; i<rowValues.length; i++) { String currentCol = rowValues[i].toString().trim();
//因为dbf文件中yyyy-MM-dd格式读取出来的日期格式为:Wed Sep 07 21:54:58 CST 2011 SimpleDateFormat sdfTemp = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US); Date date1 = sdfTemp.parse(currentCol); DateFormat df = new SimpleDateFormat("yyyyMMdd"); currentCol = df.format(date1); } } } catch(Exception e) { e.printStackTrace(); } finally { try{ fis.close(); }catch(Exception e){} } }?