我的项目使用了access数据库,可是在打包成jar文件的时候总是找不到mdb文件的路径。
http://www.iteye.com/topic/483115这个地址说明了具体的问题,但是要怎么使用getResourceAsStream方法呢。我想要得到数据路径。
Connection conn = null;
  String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  String path = this.getClass().getClassLoader().getResource("db/my.mdb").getPath();
   System.out.println(path);
  String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path;
  String username = "";
  String password = "";
以下省略。。

解决方案 »

  1.   

    Microsoft Access Driver需要一个文件系统上的文件,它不认识jar包。用getResourceAsStream把数据库文件的数据流复制到一个临时目录下的文件再连接吧。
      

  2.   

    File tempDir = new File(System.getProperty("java.io.tmpdir"));
    File temporaryFile = new File(tempDir, "my.mdb");
    InputStream templateStream = getClass().getResourceAsStream("db/my.mdbt");
    IOUtils.copy(templateStream, new FileOutputStream(temporaryFile));
    String absolutePath = temporaryFile.getAbsolutePath();
    然后再把这个路径给Microsoft Access Driver