`

读取access工具类-ReadAccessUtil2

 
阅读更多
import com.healthmarketscience.jackcess.Column;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import com.healthmarketscience.jackcess.Row;
import com.healthmarketscience.jackcess.Table;

/**
*
* 读取access工具类
*
*/
public class ReadAccessUtil2 {

private static Logger logger = LoggerFactory.getLogger(ReadAccessUtil2.class);

/**
* @param fileName
*            文件路径地址 , tableNames 需要解析的表 如果有照片表,放到最后
*
* @return Map key: 表名称,value: 表里面的字段值
*
*/
public static Map<String, List<Map<String, Object>>> resolveAccess(
String fileName,
String[] tableNames) throws Exception {

Database open = DatabaseBuilder.open(new File(fileName));
Map<String, List<Map<String, Object>>> resultMap = new HashMap<String, List<Map<String, Object>>>();
Table table = null;
List<? extends Column> columns = null;
String clumnName = null;
List<Map<String, Object>> listsMap = null;
Map<String, Object> objects = null;

for (String tableName : tableNames) {

table = open.getTable(tableName);

if (null == table) {
throw new RuntimeException("Access文件中不存在" + tableName + "。");
}

columns = table.getColumns();

listsMap = new ArrayList<Map<String, Object>>();

for (Row row : table) {

objects = new HashMap<String, Object>();

for (Column column : columns) {
clumnName = column.getName();
objects.put(clumnName, row.get(clumnName));
}

listsMap.add(objects);
}

resultMap.put(tableName, listsMap);
}

return resultMap;

}

public static void main(
String[] args) {
String fileName = "C:\\Documents and Settings\\XXX.MDB";

try {

Map<String, List<Map<String, Object>>> resolveAccess = ReadAccessUtil2.resolveAccess(fileName, new String[] { "tableName" });
} catch (RuntimeException ex) {
System.out.println("RuntimeException");
System.out.println(ex.getMessage());
} catch (Exception ex) {
System.out.println("Exception");
System.out.println(ex.getMessage());
}
System.out.println("ok...");
}
}
分享到:
评论

相关推荐

    TOMCAT 跨域 CORS Access-Control-Allow-Origin cors-filter

    配置通常包括指定过滤器类、设置过滤器映射以及配置CORS相关的属性,例如`Access-Control-Allow-Origin`的值、是否允许携带凭证(`Access-Control-Allow-Credentials`)、暴露的头部信息(`Access-Control-Expose-...

    C++工具类-常用工具类源码

    在C++编程中,工具类是非常重要的一部分,它们提供了一系列通用功能,可以帮助开发者更高效地进行项目开发。本文将深入探讨标题"**C++工具类-常用工具类源码**"所涵盖的知识点,主要围绕文件处理、编码处理、字符串...

    Java开发工具类

    Class类工具 \Cookie工具类 \excel读取 工具类\Java如何生成验证码图片和点击刷新验证码\java获取当前月第一天和最后一天,上个月第一天和最后一天\java实现ftp文件的上传与下载\Json工具类 - JsonUtils.java\JS...

    Java读写Yaml文件的工具类-snakeyaml

    java通过snakeyaml类能非常方便的操作,读写yaml文件。

    proface 密码读取软件2011版-亲测可用

    proface 密码读取软件2011版-亲测可用!!!!

    SAP读取Access数据

    总结来说,"SAP读取Access数据"这一主题涵盖了如何在SAP系统中通过编程或工具连接并操作Access数据库,以满足业务需求。具体实施涉及ABAP编程、ODBC连接、数据库操作和可能的第三方工具使用。对于需要进行SAP与...

    python工具类-读取浏览器复制的headers字符串转换为dict字典

    python工具类-读取浏览器复制的headers字符串转换为dict字典,方便爬虫使用,结合爬虫的requests、selenium等使用。

    不同类型文件读取工具类

    本篇文章将深入探讨不同类型的文件读取工具类,主要聚焦于源码层面,帮助开发者了解如何高效地处理各种文件。 1. **文本文件读取**: - **BufferedReader**:Java中的BufferedReader类提供了缓冲的字符输入流,...

    VBA Fans读取和写入UTF-8格式文本文件

    在Microsoft Office应用中,Visual Basic for Applications (VBA) 是一种强大的编程工具,可以用于自动化各种任务,包括处理文本文件。本主题将深入探讨如何使用VBA来读取和写入UTF-8编码的文本文件,这对于处理多...

    读取properties文件工具类

    这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...

    ODBC-JDBC 桥读取Access数据库

    ODBC-JDBC 桥读取 Access 数据库 ODBC-JDBC 桥是一种常用的技术,它可以将 Java 应用程序与非 Java 数据库集成。ODBC(Open Database Connectivity)是一种标准接口,用于连接各种类型的数据库,而 JDBC(Java ...

    MFC使用ADO读写Access数据库实例-

    MFC使用ADO读写Access数据库实例-免费

    Access<---&gt;Excel转换工具

    通过ADO,该工具可以直接读取和写入Access数据库和Excel文件,实现数据的快速转换。 3. skinh.she:这个文件可能是皮肤配置文件,用于存储用户界面的定制信息,如颜色、布局等,与SkinH.dll一起,为用户提供个性化的...

    VS2010 C++ ADO读取ACCESS 数据库

    在本文中,我们将深入探讨如何使用VS2010 C++和ADO(ActiveX Data Objects)来读取ACCESS数据库。ADO是Microsoft提供的一种接口,它允许开发者与各种数据源进行交互,包括MS Access数据库。在VS2010环境下,C++...

    access密码读取工具2007

    vaccess密码读取工具2007access密码读取工具2007

    配置文件读取JAVA工具类

    系统开发的时候,都会涉及到一些配置文件的读取,为方便从配置文件中读取我们预先设置的值,我做了一个简单配置文件读取工具类。这个类主要基于apache开源项目commons-configuration,附件是该工具类完整代码,仅供...

    java读取Access数据库

    其中包含Access_JDBC30.jar使用的实例,该驱动程序包破解了50次单次读取上限,但是仍然一次只能读取1000条记录。所以,想要使用建议购买正版。另外,推荐一个可以播放音频的jar包sun audio和media-player的jar包的...

    C#中SQL读取所用---反射类

    数据读取时要用到反射类。方便数据的读取、

    Qt5读取access数据库中文乱码

    Qt5读取access数据库中文乱码 问题地址:http://bbs.csdn.net/topics/390992221

Global site tag (gtag.js) - Google Analytics