java jni清屏_java使用jni清屏(只针对cmd)

通过JNI技术,将Java与C语言结合,实现Java程序在CMD命令行环境下清屏的功能。详细步骤包括编写Java native接口,使用javah生成C语言头文件,用Visual Studio创建DLL动态库,最后测试验证清屏效果。
摘要由CSDN通过智能技术生成

在java中没有提供清屏的接口,所有可以通过jni调用c语言的system(“cls”)清屏。当然,仅限于cmd清屏,不支持eclipse的控制台console清屏。

步骤:

1. 编写java的清屏native接口。

public classClear {static{

System.loadLibrary("clear");//加载clear.dll动态库

}public native static void clsCmd();//清屏

}

2.编译Clear.java,生成Clear.class

df055aef703ac89cebbf5f44f68e6aa1.png

3.用javah生成对应的c语言头文件Clear.h

b5a6398a2e668d38715a8abcd09b841b.png

4.使用Visual Studio创建win32工程,生成对应的dll动态库

4.1 创建工程

cf559ad2691016b1562150de35cb0add.png

4.2 应用程序类型:DLL

ae24592c6ca2cea83c4954f4eba2acc4.png

4.3 把第3步生成的头文件Clear.h,以及需要依赖的两个头文件jni.h和jni_md.h导入工程

jni.h在jdk的安装路径include目录下。

jni_md.h在jdk安装路径include目录中的win32目录下。

把这三个头文件先复制粘贴到工程项目目录下:

ba0577ef78925c0801342a94b336f78d.png

然后在VS中把它们导入:

头文件--->添加--->现有项--->选中上边的三个头文件--->添加

把Clear.h头文件中的 #include   改为  #include “jni.h”

4.4 添加.cpp文件,编写c代码。

源文件--->添加--->新建项--->C++文件:clear.cpp

#include "Clear.h"#includeJNIEXPORTvoidJNICALL Java_Clear_clsCmd

(JNIEnv*, jclass) {

system("cls");//c的清屏

}

4.5 设置生成64位dll动态库

解决方案--->属性

53d195a684dd298c8f20023353c85d3c.png

4.6 生成dll

解决方案--->右键生成

e0efb8153293c830621c9aefad7c5780.png

5 测试

5.1 把clear.dll复制到第1,2步Clear.class所在目录.

5.2 编写测试类

public classTestJNI {public static voidmain(String[] args) {

System.out.println("hello jni");

Clear.clsCmd();//清屏

}

}

5.3 编译测试类

javac TestJNI.java

5.4 执行测试类

java TestJNI

完美清屏,搞定!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值