Java读取.mdb文件
生活随笔
收集整理的這篇文章主要介紹了
Java读取.mdb文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
.mdb文件下載地址:點(diǎn)擊打開鏈接
Java讀取.mdb文件不需要導(dǎo)入任何jar,但是JDK有要求:JDK 1.6 32位?點(diǎn)擊打開鏈接?下載
代碼一:如下:
package com.accord.util;import java.sql.*; import java.util.*;/*** Java解析.mdb文件,jdk 1.6 32位* @author Administrator**/ public class ReadMdbFile {@SuppressWarnings("static-access")public static void main(String[] args) {ReadMdbFile rmf = new ReadMdbFile();//"src/com/example/filereader/data.txt"//rmf.readFileACCESS("D://system.mdb");rmf.readFileACCESS("src/config/system.mdb");}@SuppressWarnings({ "unchecked", "rawtypes" })public List<Map> readFileACCESS(String filePath) {List<Map> maplist = new ArrayList();Properties prop = new Properties();prop.put("charSet", "gb2312"); // 這里是解決中文亂碼prop.put("user", "test0011");prop.put("password", "test0011");//String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + filePath; // 文件地址String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + filePath; // 文件地址//String url = "jdbc:oracle={Microsoft Access Driver (*.mdb)};DBQ=" + filePath; // 文件地址PreparedStatement ps = null;Statement stmt = null;ResultSet rs = null;try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Class.forName("oracle.jdbc.driver.OracleDriver");Connection conn = DriverManager.getConnection(url, prop);stmt = (Statement) conn.createStatement();rs = stmt.executeQuery("select * from t_corp");ResultSetMetaData data = rs.getMetaData();while (rs.next()) {Map map = new HashMap();for (int i = 1; i <= data.getColumnCount(); i++) {String columnName = data.getColumnName(i); // 列名String columnValue = rs.getString(i);System.out.println(columnName + ":" + columnValue);map.put(columnName, columnValue);}maplist.add(map);}} catch (Exception e) {e.printStackTrace();}return maplist;} }
運(yùn)行結(jié)果:
ID:1
FCORP:1125
FGSBM:1060337
FGSMC:國藥控股廣州有限公司惠州大藥房鵝嶺北路分店
FISMERGE:Y
FSID:fadb
FUSER:testjk
FPWD:test11jk
FBILLTYPE:all
FPROCEDURE:zx_hzpz
FIP:10.10.1.15
代碼二:如下:
package com.accord.test;import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; import java.util.Properties; public class TestMdb { /** * TODO : 讀取文件access * * @param filePath * @return * @throws ClassNotFoundException */ public static void readFileACCESS(File mdbFile) { Properties prop = new Properties(); prop.put("charSet", "gb2312"); // 這里是解決中文亂碼 prop.put("user", "test0011"); prop.put("password", "test0011"); String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + mdbFile.getAbsolutePath(); Statement stmt = null; ResultSet rs = null; String tableName = null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 連接到mdb文件 Connection conn = DriverManager.getConnection(url, prop); ResultSet tables = conn.getMetaData().getTables( mdbFile.getAbsolutePath(), null, null, new String[] { "TABLE" }); // 獲取第一個表名 if (tables.next()) { tableName = tables.getString(3);// getXXX can only be used once } else { return; } stmt = (Statement) conn.createStatement(); // 讀取第一個表的內(nèi)容 rs = stmt.executeQuery("select * from " + tableName); ResultSetMetaData data = rs.getMetaData(); while (rs.next()) { for (int i = 1; i <= data.getColumnCount(); i++) { System.out.print(rs.getString(i) + " "); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { readFileACCESS(new File("d:/system.mdb")); readFileACCESS(new File("src/config/system.mdb")); } } 運(yùn)行結(jié)果:
1 ? ?1125 ? ?1060337 ? ?國藥控股廣州有限公司惠州大藥房鵝嶺北路分店 ? ?Y ? ?fadb ? ?testjk ? ?test11jk ? ?all ? ?zx_hzpz ? ?10.10.1.15 ? ?
1 ? ?1125 ? ?1060337 ? ?國藥控股廣州有限公司惠州大藥房鵝嶺北路分店 ? ?Y ? ?fadb ? ?testjk ? ?test11jk ? ?all ? ?zx_hzpz ? ?10.10.1.15 ? ?
總結(jié)
以上是生活随笔為你收集整理的Java读取.mdb文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmdy5(cmdy5庆余年)
- 下一篇: java美元兑换,(Java实现) 美元