//以下是需要装驱动才能解析的
Connection connDbf = null;
PreparedStatement psDbf = null;
ResultSet rsDbf = null;
//一个目录名称,下面存放DBF文件
String filePath = "D:/temp";
//一个DBF文件夹,实际文件名称为tbUser.dbf,这里做为表名不用扩展名就可以
String fileName = "tbUser";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String strurl = "jdbc:odbc:Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="
+ filePath + ";Exclusive=No;";
connDbf = DriverManager.getConnection(strurl);
sql = "select *from " + fileName;
psDbf = connDbf.prepareStatement(sql);
rsDbf = psDbf.executeQuery();
//下面这种是不用装驱动就能解析的
Connection connDbf = null;
PreparedStatement psDbf = null;
ResultSet rsDbf = null;
//一个目录名称,下面存放DBF文件
String filePath = "D:/temp";
//一个DBF文件夹,实际文件名称为tbUser.dbf,这里做为表名不用扩展名就可以
String fileName = "tbUser";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connDbf = DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft dBase Driver
(*.dbf)};DBQ=" + filePath + ";","","");
sql = "select *from " + fileName;
psDbf = connDbf.prepareStatement(sql);
rsDbf = psDbf.executeQuery();
//按行解析dbf 文件
package com.zhuhai.impdata;
import com.linuxense.javadbf.*;
import java.io.*;
import com.zhuhai.db.conn.dbConnect;
import java.sql.ResultSet;
import org.apache.log4j.Logger;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.sql.Statement;
import java.sql.PreparedStatement;
import org.springframework.context.ApplicationContext;
import com.zhuhai.ctasejb.EjbIni;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.sql.Connection;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import java.sql.*;
public class JavaDBFReader {
//中文编码问题
private String getStrByCharToByte(String str) {
byte[] temp = new byte[str.length()];
for (int i = 0; i < str.length(); i++) {
temp[i] = (byte) (str.c