亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從JAR提取并加載DLL

從JAR提取并加載DLL

神不在的星期二 2019-10-11 14:47:49
我的Java應用程序使用DLL庫。我如何從JAR文件中獲取它?DLL位于項目的源文件夾中。我必須將其包含在我的JAR中,在運行時將其提?。ㄔ趈ar的同一目錄中)并加載它。
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

嘗試加載dll之前,需要將其放入庫路徑(推薦)。因此您將不得不從jar中提取它并將其復制到lib path中。


private void loadLib(String path, String name) {

  name = System.mapLibraryName(name); // extends name with .dll, .so or .dylib

  InputStream inputStream = null;

  OutputStream outputStream = null;

  try {

    inputStream = getClass().getResourceAsStream("/" + path + name);

    File fileOut = new File("your lib path");

    outputStream = new FileOutputStream(fileOut);

    IOUtils.copy(inputStream, outputStream);


    System.load(fileOut.toString());//loading goes here

  } catch (Exception e) {

    //handle

  } finally {

    if (inputStream != null) {

      try {

        inputStream.close();

      } catch (IOException e) {

        //log

      }

    }

    if (outputStream != null) {

      try {

        outputStream.close();

      } catch (IOException e) {

        //log

      }

    }

  }

}


注意:  ACWrapper是持有靜態方法的類


查看完整回答
反對 回復 2019-10-11
  • 1 回答
  • 0 關注
  • 448 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號