最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年05月26日 09:45:57   作者:雅鈞  
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++而設(shè)計的,但是它并不妨礙你使用其他編程語言,只要調(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接口。

public class Clear {
  static{
    System.loadLibrary("clear");//加載clear.dll動態(tài)庫
  }
  public native static void clsCmd();//清屏
  }

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

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

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

4.1 創(chuàng)建工程

4.2 應用程序類型:DLL

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

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

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

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

    然后在VS中把它們導入:

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

        把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 設(shè)置生成64位dll動態(tài)庫

解決方案--->屬性

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 執(zhí)行測試類

     java TestJNI

    完美清屏,搞定!?。?/p>

相關(guān)文章

  • java使用正則抓取網(wǎng)頁郵箱

    java使用正則抓取網(wǎng)頁郵箱

    這篇文章主要為大家詳細介紹了java使用正則抓取網(wǎng)頁郵箱的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 解決idea刪除模塊后重新創(chuàng)建顯示該模塊已經(jīng)被注冊的問題

    解決idea刪除模塊后重新創(chuàng)建顯示該模塊已經(jīng)被注冊的問題

    這篇文章主要介紹了解決idea刪除模塊后重新創(chuàng)建顯示該模塊已經(jīng)被注冊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot配置文件高級用法實戰(zhàn)分享

    SpringBoot配置文件高級用法實戰(zhàn)分享

    Spring Boot配置文件的優(yōu)先級是一個重要的概念,它決定了當存在多個配置文件時,哪個配置文件中的配置將被優(yōu)先采用,本文給大家介紹了SpringBoot配置文件高級用法實戰(zhàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 超詳細解釋Java反射

    超詳細解釋Java反射

    本文非常詳細的講解了java反射具體的內(nèi)容以及使用,java反射在現(xiàn)今的使用中很頻繁,希望此文可以幫大家解答疑惑,可以幫助大家理解
    2021-11-11
  • Java實現(xiàn)base64圖片編碼數(shù)據(jù)轉(zhuǎn)換為本地圖片的方法

    Java實現(xiàn)base64圖片編碼數(shù)據(jù)轉(zhuǎn)換為本地圖片的方法

    這篇文章主要介紹了Java實現(xiàn)base64圖片編碼數(shù)據(jù)轉(zhuǎn)換為本地圖片的方法,涉及java編碼轉(zhuǎn)換及圖片文件生成相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • 如何在java文件中設(shè)置文字顏色:setTextColor()

    如何在java文件中設(shè)置文字顏色:setTextColor()

    這篇文章主要介紹了如何在java文件中設(shè)置文字顏色:setTextColor(),文末補充介紹了在java代碼中設(shè)置字體顏色方法總結(jié),結(jié)合實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • 吊打Java面試官之Lambda表達式 Stream API

    吊打Java面試官之Lambda表達式 Stream API

    這篇文章主要介紹了吊打Java之jdk8的新特性包括Lambda表達式、函數(shù)式接口、Stream API全面刨析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 深入理解java重載和重寫

    深入理解java重載和重寫

    這篇文章主要介紹了Java方法重載和重寫原理區(qū)別解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-07-07
  • Java Lambda表達式實例解析原理

    Java Lambda表達式實例解析原理

    日常開發(fā)中,我們很多時候需要用到Java?8的Lambda表達式,它允許把函數(shù)作為一個方法的參數(shù),讓我們的代碼更優(yōu)雅、更簡潔。所以整理了一波工作中常用的Lambda表達式??赐暌欢〞袔椭?/div> 2023-03-03
  • java編程中自動拆箱與自動裝箱詳解

    java編程中自動拆箱與自動裝箱詳解

    這篇文章主要介紹了java編程中自動拆箱與自動裝箱詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論

监利县| 江北区| 东阳市| 新乡县| 灯塔市| 中西区| 喜德县| 晋宁县| 铜鼓县| 清涧县| 麦盖提县| 鹿邑县| 金乡县| 宕昌县| 江津市| 嘉定区| 怀宁县| 肃宁县| 汪清县| 浦城县| 昌邑市| 临沂市| 营口市| 健康| 柞水县| 周至县| 仪陇县| 贞丰县| 开封市| 乌苏市| 开江县| 济阳县| 澄江县| 西昌市| 长垣县| 探索| 辰溪县| 准格尔旗| 满城县| 吴江市| 石渠县|