java加载dll文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java加载dll文件相关的知识,希望对你有一定的参考价值。

情况,目前有一个dll文件,但是dll文件里面是数据库表,请问,java怎么读取里面的数据,谢谢

参考技术A java没法直接读,只能先用C++写一个读取该dll内容的过程,按JNI规范封装成dll,然后java加载这个dll执行其中的函数。追问

现在本身就是一个dll,为什么还要再写一个呢?我用工具反编译了一下,的确此dll里面没有对应的函数什么的,C++也不会呀,请问我现在最好的处理方法是什么,谢谢!

追答

因为这个dll当中的函数不是按照JNI格式封装的,所以Java无法直接加载该dll。只能通过C++写的另一个dll再进行一次封装。

参考技术B java不能直接操作DLL 用Jna
你也不能直接操作DLL
你只能调用封装好的方法
一句话 你得按照DLL提供的方法取操作他追问

dll里面反编译过来没有函数,当然也有可能是我做的不正确,只晓得通过Navicat for sql可以直接加载该dll 而后就可以直接查看dll里面包含的数据。

追答

你不是用的sqllite哦 不是DLL Navicat for sql加载什么DLL

追问

这是真的,一开始我也不理解,但是通过工具的确加载出来了
工具就是这个Navicat for sqlite ;所以就有些搞不懂了,如果只是调用dll,晓得里面的方法的话 那还是很简单的,目前这个就是一个数据库,但是是以dll形式来的,就不晓得改怎么通过java把这个数据读取出来了。

追答

我都说了你那个不是DLL dll是动态链接库 你那个是sqlite 数据库
结尾一班是.db 不是.dll
百度 java操作sqlite 数据库 几下就解决你的问题

和你操作mysql 那些没什么区别 只是他是一个文本数据库

追问

就是这个文件,这就是dll的哇,直接改后缀?

追答

你改不改后缀他都是sqlite数据库 难道你把a.txt 改成B.DLL 你打开的内容不是和a.txt 一样的么 整好了 采纳一下

本回答被提问者采纳

以上是关于java加载dll文件的主要内容,如果未能解决你的问题,请参考以下文章

Java Native Interface加载dll文件

Java 加载动态库 dll 文件

java怎么加载任意路径下的DLL

java 读取DLL 咋弄?

lua中怎么加载dll文件?

如何在 Java 中从 C DLL 加载和使用结构和函数?