Java读写dbf文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java读写dbf文件相关的知识,希望对你有一定的参考价值。

struts2+sping+ibatis的框架如何将查询出来的结果写到dbf文件中?又如何将dbf读出呢? 希望有代码例子……感激不尽!

   Java读取DBF文件,需要加载开源jar包JavaDBF.jar,然后使用里面的方法进行读写,示例如下:

package search;
public class ReadDBF 
public static void main(String args[])
   
    
readDBF();
    
private static void readDBF()

     try
     
      System.out.println("正在读取文件!");
   
      DBFReader dbfreader = new DBFReader("D:\\\\ZG2011格式.dbf");
      for(int b = 0;b<dbfreader.getFieldCount();b++)
      
       if(b>0)
        System.out.print(",");
       System.out.print(dbfreader.getField(b).getName().trim().toUpperCase());
      
       if(b == (dbfreader.getFieldCount()-1))
        System.out.print("\\n");
       
      for(int i = 0;dbfreader.hasNextRecord();i++)
      
       String[] aobj = dbfreader.nextRecordString();
       for(int b = 0;b<dbfreader.getFieldCount();b++)
       
        if(b>0)
         System.out.print(",");
        System.out.print(aobj[b].trim());
     
        if(b == (dbfreader.getFieldCount()-1))
         System.out.print("\\n");
     
        
      
      System.out.println("读取文件成功!");
     
     catch(Exception e)
     
      System.out.print(e.getMessage());
     


参考技术A /**
* DBF文件读写简单例子
*
* @author Eric 2007-6-22
* @version 1.0
*/
public class mytest /**
* 读DBF文件
*/
private static void readDBF()

try

System.out.println("正在读取文件!");

DBFReader dbfreader = new DBFReader("d:/aa.dbf");
for(int b = 0;b<dbfreader.getFieldCount();b++)

if(b>0)
System.out.print(",");
System.out.print(dbfreader.getField(b).getName().trim().toUpperCase());

if(b == (dbfreader.getFieldCount()-1))
System.out.print("\n");


for(int i = 0;dbfreader.hasNextRecord();i++)

String aobj[] = dbfreader.nextRecordString();
for(int b = 0;b<dbfreader.getFieldCount();b++)

if(b>0)
System.out.print(",");
System.out.print(aobj[b].trim());

if(b == (dbfreader.getFieldCount()-1))
System.out.print("\n");



System.out.println("读取文件成功!");

catch(Exception e)

e.printStackTrace();


/**
* 写DBF文件
*/
private static void writeDBF()


try
JDBField ajdbfield[] = new JDBField[4];
ajdbfield[0] = new JDBField("字段1",'C',20,0);
ajdbfield[1] = new JDBField("字段2",'C',20,0);
ajdbfield[2] = new JDBField("filed3",'C',20,0);
ajdbfield[3] = new JDBField("filed4",'C',20,0);

System.out.println("正在生成DBF字段!");

DBFWriter dbfwriter = new DBFWriter("d:/aa.dbf", ajdbfield); /*生成 DBF 文件*/
Object aobj[] = new Object[4];
aobj[0]="1";
aobj[1]="1";
aobj[2]="1";
aobj[3]="1";

System.out.println("正在写入数据!");

dbfwriter.addRecord(aobj);
dbfwriter.close();

System.out.println("执行成功!");
catch (JDBFException e)
// TODO Auto-generated catch block
e.printStackTrace();


public static void main(String[] args)

writeDBF();
readDBF();

以上是关于Java读写dbf文件的主要内容,如果未能解决你的问题,请参考以下文章

使用Java读写dbf文件附源代码

使用Java读写dbf文件附源代码

《Java知识应用》Java读写DBF文件

python读写dbf数据库

关于SocialExplorer.IO.FastDBF库读写ArcGis dbf文件的两个小bug

java解析dbf文件