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

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

public class Clear {

static{

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

}

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

}

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

810131d9c27d8d445f41ba9d8190c34a.png

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

ae1b42cd8e7a1b1f086d41400e88645e.png

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

4.1 创建工程

a991112e291b2115bda39189883ca45d.png

4.2 应用程序类型:DLL

3f299e9a0d337813386266dd69cbd44f.png

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

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

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

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

23a22ed4b6006fdd787a24cd4ac86e4b.png

然后在VS中把它们导入:

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

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

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

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

#include "Clear.h"

#include

JNIEXPORT void JNICALL Java_Clear_clsCmd

(JNIEnv *, jclass) {

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

}

4.5 设置生成64位dll动态库

解决方案--->属性

118db6384763becd52f62e25b1a2c9aa.png

4.6 生成dll

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

4859aa633d2777745d2769a36f43788c.png

5 测试

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

5.2 编写测试类

public class TestJNI {

public static void main(String[] args) {

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

Clear.clsCmd();//清屏

}

}

5.3 编译测试类

javac TestJNI.java

5.4 执行测试类

java TestJNI

完美清屏,搞定!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值