JNA加载DLL库

本文介绍了如何在Java项目中利用JNA动态加载佳博打印机的TSCLIB.DLL库。首先尝试使用绝对路径加载,要求DLL和LIB文件位于D盘同一目录。接着探讨了通过动态路径加载DLL的方法,引用了相关技术博客进行详细说明。
摘要由CSDN通过智能技术生成

因为项目需要,要在java里调用佳博打印机的TSCLIB.dll库:

1:使用绝对路径

 TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("D:\\TSCLIB", TscLibDll.class);

此时要将TSCLIB.dll和TSCLIB.lib同时放在D盘下,调用打印机没问题

2:使用动态路径加载:(参考:http://blog.csdn.net/u011088260/article/details/52005347)

TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("TSCLIB", TscLibDll.class);

 注意: 此时TSCLIB不能加后缀名,设及到跨平台的思想

此时TSCLIB.dll加载的顺序是:
1:项目路径下
2:库文件路径下:库文件路径可以用 System.out.println(System.getProperty("java.library.path"));打印到控制台
ps:按打印出来的路径去找,我的路径里有之前实验放进去的同名的TSCLIB.dll文件,会导致报out of memery,google说是类型转换问题,没深究,换了打印机自带的dll文件,
问题解决了

中间还可能会报一个:can't load (win32-x86,,,后面跟着你一串路径,按这个路径去找没发现问题,所以读取本地库的路径应该是上述所说的,按这个报错路径没发现问题

调用打印机的代码:
package PrintTest;

import com.sun.jna.Library;
import com.sun.jna.Native;

import jackingTest.PipeCutingItem;
import jackingTest.PipejackingResult;

public class PrintTest {
	 public interface TscLibDll extends Library {
	        TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("TSCLIB", TscLibDll.class);
	        int about ();
	        int openport (String pirnterName);
	        int closeport ();
	        int sendcommand (String printerCommand);
	        int 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: JNA(Java Native Access)是一个Java开发平台上的,可以用来访问本地的动态链接DLL)。在CSDN(CSDN是一个面向IT技术开发者和创客的社区平台)上,你可以找到并下载一些使用JNADLL。 在CSDN上有许多开发者分享了自己编写的DLL,这些可以通过JNA被Java程序所调用。你可以在CSDN的下载中心或者在线论坛中搜索相关的关键词,如“JNA DLL”、“Java调用本地”等,以找到你需要的DLL。 下载DLL时,你需要选择与你所使用的操作系统和JVM相对应的版本。确保下载的DLL与你的开发环境兼容,避免出现问题。一般来说,下载的DLL文件是以.dll为后缀的,你可以将其放置在你的项目中,并在Java代码中通过JNA进行加载和调用。 JNA提供了一些API和类,如Native类和Library接口,用于加载和调用本地DLL。你可以通过这些类来实现与本地的交互,调用其中的函数和方法,实现特定的功能。 总之,在CSDN上可以找到并下载到一些使用JNADLL。这些可以帮助你在Java应用程序中实现与本地的互操作。记得在使用前进行适当的测试和验证,确保与你的开发环境兼容并满足你的需求。 ### 回答2: JNA(Java Native Access)是一个开源的Java程序,可以用来在Java程序中调用本地的动态链接DLL)。 在CSDN上可以下载很多已经编写好的DLL文件。CSDN是一个IT技术交流平台,其中有很多开发者分享自己编写的代码和文件。通常,我们可以通过CSDN搜索或浏览相关的DLL文件并进行免费或付费下载。 如果想要使用JNA调用某个DLL,首先需要在CSDN上搜索并找到符合需求的文件。下载并保存这个DLL文件到本地的某个目录下。然后,在Java程序中使用JNA的API,根据DLL的具体名称和路径,加载这个DLL文件。接着,我们可以通过JNA提供的方法来调用这个DLL文件中的函数、变量等。 因为JNA简化了Java调用本地代码的复杂性,所以使用JNA可以方便地将DLL文件集成到Java程序中。而在CSDN上下载DLL文件,可以节省我们编写这些文件的时间和精力,可以直接使用他人编写好的代码来实现特定的功能,加快开发过程。 总之,JNA可用于在Java程序中调用本地的动态链接DLL),而我们可以在CSDN上下载到很多编写好的DLL文件,方便我们在Java程序中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值