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

2018-06-18 00:47:38来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在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

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

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

4.1 创建工程

4.2 应用程序类型:DLL

 

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

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

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

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

  

    然后在VS中把它们导入:

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

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

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

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

      

#include "Clear.h"
#include <iostream>


JNIEXPORT void JNICALL Java_Clear_clsCmd
(JNIEnv *, jclass) {
    system("cls");//c的清屏
}

4.5 设置生成64位dll动态库

解决方案--->属性

4.6 生成dll

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

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

    完美清屏,搞定!!!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:springboot~@Valid注解对嵌套类型的校验

下一篇:MyBatis-Plus工具快速入门使用