一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java使用jni清屏功能的實現(xiàn)(只針對cmd)

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

2021-05-05 11:43雅鈞 Java教程

JNI是Java Native Interface的縮寫,它提供了若干的API實現(xiàn)了Java和其他語言的通信(主要是C&C++)。這篇文章主要介紹了Java使用jni清屏功能的實現(xiàn)(只針對cmd) ,感興趣的朋友跟隨腳本之家小編一起學習吧

jni簡介

       jni是java native interface的縮寫,它提供了若干的api實現(xiàn)了java和其他語言的通信(主要是c&c++)。從java1.1開始,jni標準成為java平臺的一部分,它允許java代碼和其他語言寫的代碼進行交互。jni一開始是為了本地已編譯語言,尤其是c和c++而設計的,但是它并不妨礙你使用其他編程語言,只要調(diào)用約定受支持就可以了。使用java與本地已編譯的代碼交互,通常會喪失平臺可移植性。但是,有些情況下這樣做是可以接受的,甚至是必須的。例如,使用一些舊的庫,與硬件、操作系統(tǒng)進行交互,或者為了提高程序的性能。jni標準至少要保證本地代碼能工作在任何java 虛擬機環(huán)境。 簡單的來說jni就是方便了java調(diào)用c,c++語言的函數(shù);java通過jni提供接口(頭文件),c,c++實現(xiàn)這些函數(shù)供java調(diào)用。

在java中沒有提供清屏的接口,所有可以通過jni調(diào)用c語言的system(“cls”)清屏。當然,僅限于cmd清屏,不支持eclipse的控制臺console清屏。

步驟:

1. 編寫java的清屏native接口。

?
1
2
3
4
5
6
public class clear {
  static{
    system.loadlibrary("clear");//加載clear.dll動態(tài)庫
  }
  public native static void clscmd();//清屏
  }

2.編譯clear.java,生成clear.class

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

3.用javah生成對應的c語言頭文件clear.h

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

4.使用visual studio創(chuàng)建win32工程,生成對應的dll動態(tài)庫

4.1 創(chuàng)建工程

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

4.2 應用程序類型:dll

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

4.3 把第3步生成的頭文件clear.h,以及需要依賴的兩個頭文件jni.h和jni_md.h導入工程

      jni.h在jdk的安裝路徑include目錄下。

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

      jni_md.h在jdk安裝路徑include目錄中的win32目錄下。

      把這三個頭文件先復制粘貼到工程項目目錄下:

    然后在vs中把它們導入:

   頭文件--->添加--->現(xiàn)有項--->選中上邊的三個頭文件--->添加

        把clear.h頭文件中的 #include <jni.h>  改為  #include “jni.h”

4.4 添加.cpp文件,編寫c代碼。

      源文件--->添加--->新建項--->c++文件:clear.cpp

?
1
2
3
4
5
6
#include "clear.h"
#include <iostream>
jniexport void jnicall java_clear_clscmd
(jnienv *, jclass) {
  system("cls");//c的清屏
}

4.5 設置生成64位dll動態(tài)庫

解決方案--->屬性

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

4.6 生成dll

解決方案--->右鍵生成

Java使用jni清屏功能的實現(xiàn)(只針對cmd)

5 測試

5.1 把clear.dll復制到第1,2步clear.class所在目錄.

5.2 編寫測試類

?
1
2
3
4
5
6
public class testjni {
  public static void main(string[] args) {
    system.out.println("hello jni");
    clear.clscmd();//清屏
  }
}

5.3 編譯測試類

     javac testjni.java

5.4 執(zhí)行測試類

     java testjni

    完美清屏,搞定!!!

原文鏈接:https://www.cnblogs.com/xyj-bk/p/9083427.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人18视频在线观看 | 91av最新地址 | 国内精品久久久久久野外 | 视频大全在线观看网址 | 欧美日韩国产中文字幕 | 91粉色视频在线导航 | 欧美干b视频 | 韩国免费特一级毛片 | 69堂最新地域网名 | 亚洲免费精品 | 欧美一级精品 | 日本最大的黄色网站 | www.久久99| 国产亚洲福利一区二区免费看 | 91香蕉依人综合久久 | 精品一区二区三区自拍图片区 | 高级黄色片 | 精品视频在线免费 | 羞羞影院午夜男女爽爽影院网站 | 欧美午夜寂寞影院安卓列表 | 日韩欧美综合在线二区三区 | 四虎黄色影视库 | 国产亚洲欧美成人久久片 | 免费毛片在线观看 | 免费看www | 久久精品无码一区二区日韩av | 四虎黄色影视库 | 午夜小视频免费观看 | 色老板在线观看 | 天堂漫画破解版 | 好吊色视频988gao在线观看 | 国产一区二区三区欧美精品 | 国产亚洲人成网站天堂岛 | 亚洲男人天堂av | 色噜噜亚洲男人的天堂www | 羞羞污视频| freexxxx性大陆另类 | 国产成人精品午夜在线播放 | 亚洲AV中文字幕无码久久 | 国产免费看黄的私人影院 | 极品ts赵恩静和直男激战啪啪 |