import com.linuxense.javadbf.DBFReader;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class TestDbf {
/**
* 读取dbf
*
* @param path
*/
public static List<Object> readDBF(String path) {
InputStream fis = null;
List<Object> list = new ArrayList<>();
try {
// 读取文件的输入流
fis = new FileInputStream(path);
// 根据输入流初始化一个DBFReader实例,用来读取DBF文件信息
DBFReader reader = new DBFReader(fis);
// 解决乱码
reader.setCharactersetName("GBK");
// 调用DBFReader对实例方法得到path文件中字段的个数
int fieldsCount = reader.getFieldCount();
// 取出字段信息
// 取出C2的字段
Object[] rowValues;
// 一条条取出path文件中记录
while ((rowValues = reader.nextRecord()) != null) {
// 获取每一个C2字段对应的值
list.add(rowValues[1]);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (Exception e) {
}
}
return list;
}
public static void main(String[] args) {
Text01.readDBF(路径);
}
用java代码读取dbf文件
最新推荐文章于 2024-03-07 20:15:00 发布