`

第3方包读取Access

 
阅读更多
package com.test;

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Set;

import javax.imageio.ImageIO;

import com.healthmarketscience.jackcess.Column;
import com.healthmarketscience.jackcess.DataType;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import com.healthmarketscience.jackcess.Row;
import com.healthmarketscience.jackcess.Table;

/**
* 第3方包读取Access
*
* @author ellis.xie
*
*/
public class TestJackess {

/**
* @param args
* @throws IOException
*/
public static void main(
String[] args) throws IOException {
// Table table = DatabaseBuilder.open(new File("C:\\Documents and Settings\\ellis.xie\\Desktop\\Database1.accdb")).getTable("t1");

String pathname = "E:\\xxx.MDB";
Database open = DatabaseBuilder.open(new File(pathname));

Set<String> tableNames = open.getTableNames();

for (String string : tableNames) {
System.out.println("表名称:" + string);
Table table = open.getTable(string);

int rowCount = table.getRowCount();
System.out.println("rowCount=" + rowCount);
}

StringBuffer sb = new StringBuffer();

Table table = open.getTable("照片表");
List<? extends Column> columns = table.getColumns();

String photeName = null;
DataType type = null;
byte[] photeValue = null;
for (Row row : table) {
for (Column column : columns) {

int columnIndex = column.getColumnIndex();

if (0 == columnIndex) {
photeName = row.get(column.getName()).toString();
} else {
;
}
type = column.getType();

if (DataType.OLE.toString().equals(type.toString())) {
photeValue = (byte[]) row.get(column.getName());
} else {
;
}

sb.append(photeName + "@" + type + "\t\t");
}
System.out.println(sb);
sb.setLength(0);// 清空sb
TestJackess.createPhoteFile(photeValue, photeName);
TestJackess.createPhoteFile2(photeValue, photeName);
}

}

/**
* 创建图片文件
*
* @param buffer
*            传来的图片信息byte数组
* @throws IOException
*/
public static void createPhoteFile(
byte[] buffer,
String photeName) throws IOException {

String URL = "D:/001xxx/";// 创建本地图片URL

FileOutputStream fos = new FileOutputStream(new File(URL + photeName + ".jpg"));

fos.write(buffer, 0, buffer.length);

fos.flush();

fos.close();

}

/**
* 创建图片文件
*
* @param buffer
*            传来的图片信息byte数组
* @throws IOException
*/
public static void createPhoteFile2(
byte[] buffer,
String photeName) throws IOException {
ByteArrayInputStream in = new ByteArrayInputStream(buffer); // 将b作为输入流;
BufferedImage image = ImageIO.read(in); // 将in作为输入流,读取图片存入image中,而这里in可以为ByteArrayInputStream();
ImageIO.write(image, "jpg", new File("D:\\002xxx\\" + photeName + ".jpg"));
}
}
分享到:
评论

相关推荐

    ant 涉及第三方包问题 打包第三方包 或者添加第三方包

    ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三...

    excel第三方包

    本文将详细讨论“excel第三方包”这一主题,主要聚焦于Apache POI项目及其相关组件,以及另一个流行的库JXL。 Apache POI是Apache软件基金会的一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel...

    android第三方包

    "Universal Image Loader"(简称UIL)就是一款专为Android设计的高效、强大的第三方图片加载库。这个库由Sergey Tarasevich开发,旨在解决Android原生API在处理图片时的性能和内存管理问题。 Universal Image ...

    aes第三方包

    这里提到的"aes第三方包"是针对Egret游戏引擎的一个特定库,它包含了AES加密所需的三个文件:`aes.d.ts`、`aes.js`和`aes.min.js`。 1. `aes.d.ts`:这是一个TypeScript类型定义文件,为AES库提供了静态类型支持。...

    解决第三方包导入冲突

    然而,在某些情况下,可能会遇到"第三方包导入冲突"的问题,这主要是因为两个或更多的库依赖于相同但版本不同的类或者方法,导致编译或运行时出错。本篇将深入探讨如何解决这类问题。 首先,当遇到包冲突时,一个...

    java excel 读取 用 zip 方式。不用第三方包

    * 第三行 为 字段名字 * 第四行 为 前端字段类型 (我是后端我不用,所以不解析,) * 第五行 为 后端 字段类型,int string float * 从第6行开始 就为具体的数值, * json 格式为 每横行 一个jsonobject ,...

    python Gbase第三方包

    Python GBase第三方包是用于连接GBase数据库的一种工具,它为Python开发者提供了便捷的数据操作接口。GBase,全称为Golden Base,是由南大通用数据技术股份有限公司开发的一款高性能分布式数据库系统,广泛应用于大...

    Java生成UUID使用的第三方包

    Java生成UUID使用的第三方包,生成UUID的第三方包,

    xcode 中 CoreData的第三方包的使用 项目源码

    3. **常见的CoreData第三方库**: - **MagicalRecord**:提供了简化的API,使得与CoreData交互变得更加便捷。 - **NSManagedObject+ActiveRecord**:模仿Ruby on Rails的ActiveRecord模式,提供了一种面向对象的...

    octave第三方包例子

    octave编写第三方包的例子

    Eclipse RCP中使用第三方包

    Eclipse RCP中使用第三方包 Eclipse RCP(Rich Client Platform)是一种基于Java的插件式软件架构,允许开发者创建跨平台的桌面应用程序。使用Eclipse RCP,可以快速构建功能强大的客户端应用程序。然而,在实际...

    java数据库第三方包和配置java数据库第三方包和配置

    本篇将详细探讨Java数据库第三方包的使用和配置,以及如何在项目中整合这些包。 一、常用的Java数据库第三方包 1. JDBC(Java Database Connectivity):这是Java标准API,用于与各种数据库进行通信。虽然JDBC提供...

    java+swing打包jar转成exe 轻松加载第三方包

    这个过程涉及到将Java的JAR文件转换为Windows平台上的EXE文件,并且还需要处理第三方库的集成。以下是使用exe4j进行此操作的详细步骤和注意事项: 1. **准备阶段**: - 确保你的JAR文件、ICO图标、第三方库(存放...

    python操作Excel第三方包xlwings的操作手册

    **Python操作Excel第三方包xlwings详解** xlwings是一款强大的Python库,它使得与Excel文件的交互变得简单高效。这个库不仅支持读写Excel数据,还能修改单元格格式,同时还具备与matplotlib和pandas库的无缝对接...

    unit3d 第三方包 UniWeb

    unit3d 第三方包 UniWeb 方便使用 http请求以及websocket

    Excel(POI)第三方包

    java開發必備,導入導出excel文件

    打包可执行程序引用了第三方包)

    标题 "打包可执行程序引用了第三方包" 指的是在软件开发过程中,开发者经常会使用到外部的开源库或第三方组件来实现特定功能。这些组件可能来自不同的编程语言的包管理器,如Python的pip、Java的Maven、Node.js的npm...

    passcloud源码以及所需的第三方包.rar

    本文将深入探讨“passcloud”这一开源电商微服务框架的源码,结合描述中的信息,我们可以了解到这个项目在添加了第三方包后,不仅消除了编译错误,还能成功运行。我们将从源码结构、第三方包的作用以及如何适用于...

    java拓扑图第三方包

    java拓扑图第三方包(twaver.jar)试用版

    创建jar并引入第三方包

    本文将详细介绍如何在MyEclipse中创建JAR文件并包含第三方包。 首先,理解JAR(Java Archive)文件是一种归档格式,用于集合多个Java类文件、资源文件和元数据。JAR文件通常用于分发Java应用程序或库,可以被Java...

Global site tag (gtag.js) - Google Analytics