亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PC機(jī)下實(shí)現(xiàn)java對(duì)文件系統(tǒng)功能調(diào)用

        2014-09-24 19:11:54王宏浩富強(qiáng)徐東晨
        無線互聯(lián)科技 2014年7期

        王宏浩 富強(qiáng) 徐東晨

        摘要:隨著時(shí)代的發(fā)展和科技的進(jìn)步,Internet技術(shù)也得到了快速的發(fā)展。在這樣的條件下,java語言以其所獨(dú)有的特點(diǎn),被廣泛應(yīng)用于多種設(shè)備、網(wǎng)絡(luò)和計(jì)算機(jī)中。盡管java可以跨平臺(tái),具有良好的可移植性,但是PC機(jī)上,尤其是WINDOWS系統(tǒng)下,要通過java實(shí)現(xiàn)對(duì)系統(tǒng)文件的調(diào)用則較為困難。論文結(jié)合筆者研究,闡述了如何利用已經(jīng)寫好的FATFS文件系統(tǒng)C代碼,在JNI技術(shù)基礎(chǔ)上實(shí)現(xiàn)PC機(jī)上文件系統(tǒng)功能的調(diào)用。

        關(guān)鍵詞:SOA;文件系統(tǒng);JNI;讀文件;寫文件1JNI技術(shù)

        使用JNI技術(shù)的最終目的就是為了能夠在完成編寫頭文件和本地程序的基礎(chǔ)上,再借助C/C++文件生成一個(gè)動(dòng)態(tài)庫文件,然后將其加載至Java程序中,確保其成功運(yùn)行。具體步驟可以分為以下五步:第一,構(gòu)建Java工程,編寫相應(yīng)的Java代碼。在這一環(huán)節(jié)中,首要任務(wù)是將需要定義的動(dòng)態(tài)庫名稱加載至Java類中,并且需要確定本地方法。第二,編寫并執(zhí)行.bat文件,從而生成與Java代碼相對(duì)應(yīng)的頭文件。第三,編寫本地代碼,以保證Java可以與C/C++數(shù)據(jù)文件之間的相互轉(zhuǎn)換。第四,編譯本地代碼,從而生成DLL或者.SO文件。第五,加載已生成的動(dòng)態(tài)庫文件至Java代碼之內(nèi),并將Java程序運(yùn)行。

        2SOA三層構(gòu)架下FATFS文件系統(tǒng)的移植

        SOA即Service-Oriented Architecture,是面向服務(wù)的體系結(jié)構(gòu),它的出現(xiàn)解決了如何提高系統(tǒng)的擴(kuò)展性的問題。通過SOA的三層構(gòu)架,有效的解決了諸多問題。這可以從兩個(gè)方面分析,即邏輯層的SOA三層構(gòu)架以及實(shí)現(xiàn)層SOA三層構(gòu)架。

        2.1 邏輯層SOA三層構(gòu)架

        邏輯層SOA三層構(gòu)架的主要作用就是確保業(yè)務(wù)需求與系統(tǒng)的分離。根據(jù)不同的應(yīng)用方式,SOA可以實(shí)現(xiàn)不同語義層定義相應(yīng)的應(yīng)用協(xié)議語言。這樣就可以實(shí)現(xiàn)針對(duì)特定應(yīng)用系統(tǒng)的系統(tǒng)需求映射,從而達(dá)到將業(yè)務(wù)需求與系統(tǒng)之間的銜接的目的。邏輯層SOA三層構(gòu)架是針對(duì)FATFS文件系統(tǒng)之間的底層驅(qū)動(dòng)函數(shù)。一般來說FATFS文件系統(tǒng)有六個(gè)接口函數(shù)與硬件層相對(duì)應(yīng),即磁盤初始化、獲取當(dāng)前磁盤的狀態(tài)、寫扇區(qū)、讀扇區(qū)、獲取當(dāng)前時(shí)間以及存儲(chǔ)介質(zhì)控制函數(shù)。

        2.2 實(shí)現(xiàn)層SOA三層構(gòu)架

        這與邏輯層SOA三層構(gòu)架相對(duì)應(yīng),引擎映射對(duì)應(yīng)概念模型需求層;流程映射對(duì)應(yīng)邏輯模型語義層;構(gòu)建映射對(duì)應(yīng)物理模型服務(wù)層。

        因?yàn)檎撐膬?nèi)實(shí)現(xiàn)的PC機(jī)下Java對(duì)文件系統(tǒng)功能的調(diào)用是基于Java調(diào)用C而實(shí)現(xiàn)的,那么邏輯層SOA三層構(gòu)架內(nèi)的服務(wù)層之中的底層函數(shù)是與實(shí)現(xiàn)層的構(gòu)件池相對(duì)應(yīng)的,而實(shí)現(xiàn)層的引擎則是Java,這樣通過Java引擎就可以在調(diào)用文件系統(tǒng)流程的過程中生成的動(dòng)態(tài)庫文件達(dá)到實(shí)現(xiàn)文件系統(tǒng)的目的。

        3PC機(jī)下Java對(duì)文件系統(tǒng)功能調(diào)用

        通過對(duì)前面SOA三層構(gòu)架的分析,并在此基礎(chǔ)上實(shí)現(xiàn)了FATFS文件系統(tǒng)的移植,接下來就可以實(shí)現(xiàn)通過Java對(duì)PC機(jī)下文件系統(tǒng)功能的調(diào)用。為了便于實(shí)現(xiàn)和測(cè)試,筆者所采用的測(cè)試平臺(tái)為VC++以及eclipse平臺(tái)。具體實(shí)驗(yàn)流程如下所述:

        第一步,構(gòu)建Java工程Rename,其中設(shè)置其包名為filesystem,類FileSystem。

        第二步,在代碼FileSystem.java中聲明本地方法。

        其中:①函數(shù)表示對(duì)文件的重命名,path_old表示文件名,而path_new則代表修改以后的文件名;

        ②函數(shù)則表示需要根據(jù)路徑來讀取相應(yīng)的文件夾,代碼String path文件夾;

        ③函數(shù)則代表按照path的路徑進(jìn)行文件數(shù)據(jù)的寫入;

        ④函數(shù)意為讀取相應(yīng)路徑內(nèi)的文件夾的內(nèi)容;

        ⑤函數(shù)表示讀取路徑寫文件的相關(guān)信息,諸如文件的創(chuàng)建時(shí)間等;

        ⑥函數(shù)指需要為path路徑創(chuàng)建一個(gè)文件夾;

        ⑦函數(shù)指將該路徑下文件夾的屬性改變。

        第三步,加載動(dòng)態(tài)庫,其語句為

        static

        {

        System.loadLibrary("renamel");

        }

        Renamel即表示動(dòng)態(tài)庫的名字,這樣Java就可以憑借調(diào)用上述中介DLL的方式,間接地達(dá)到調(diào)用真正第三方DLL的目的。

        第四步,通過編譯,從而生FileSystem.class文件。

        第五步,編寫執(zhí)行.bat文件,這樣就可以生成與Java代碼相對(duì)應(yīng)的頭文件,即filesystem_FileSystem.h。

        第六步,通過VC6.0編譯器,就能夠生成renamel.dll文件。

        這樣一來就實(shí)現(xiàn)了在PC機(jī)下Java對(duì)文件系統(tǒng)功能的調(diào)用。

        4結(jié)語

        綜上所述,在PC機(jī)下實(shí)現(xiàn)Java對(duì)文件系統(tǒng)功能的調(diào)用是一個(gè)復(fù)雜的過程,需要涉及到眾多方面。而JNI技術(shù)保障這一功能實(shí)現(xiàn)的前提。為了實(shí)現(xiàn)這一目的,就必須了解和掌握J(rèn)NI技術(shù)需要的軟件和平臺(tái),并在此基礎(chǔ)上分析FATFS文件系統(tǒng)的結(jié)構(gòu)基礎(chǔ),并最終借助SOA的三層構(gòu)架實(shí)現(xiàn)對(duì)PC上的FATFS系統(tǒng)文件的移植。最后,憑借JNI技術(shù),即可實(shí)現(xiàn)WINDOWS系統(tǒng)下Java對(duì)文件系統(tǒng)功能的調(diào)用。

        [參考文獻(xiàn)]

        [1]常青,張剛,王耀力.SOA三層構(gòu)架在嵌入式文件系統(tǒng)上的實(shí)現(xiàn)[J].太原理工大學(xué)學(xué)報(bào),2011(03).

        一本之道久久一区二区三区| 亚洲免费观看网站| 美女超薄透明丝袜美腿| 在线观看视频国产一区二区三区| 久久精品国产亚洲av四叶草| 日韩人妻一区二区三区蜜桃视频| 人妻无码中文字幕免费视频蜜桃 | 亚洲国产香蕉视频欧美| 亚洲中文字幕乱码免费看| 国产亚洲成人av一区| 亚洲欧美一区二区三区在线| 日本在线视频网站www色下载| 日本在线视频二区一区| 日本女优在线一区二区三区| 桃花影院理论片在线| 国产成人77亚洲精品www| 久久综合老鸭窝色综合久久| 国产丝袜美腿精品91在线看| 亚洲小说区图片区另类春色| 亚洲一区二区婷婷久久| 女同另类专区精品女同| 国产色视频一区二区三区qq号 | 国产美女精品视频线免费播放软件| aaaaaa级特色特黄的毛片| 国产精品国产午夜免费福利看| 青青草免费在线视频久草| 又粗又黄又猛又爽大片app| 亚洲av无码专区亚洲av| 放荡人妻一区二区三区| 少妇被黑人嗷嗷大叫视频| 久久综合给合综合久久| 亚洲爆乳大丰满无码专区| 91中文在线九色视频| 国产乱对白刺激视频| 人妻在卧室被老板疯狂进入国产| 国产在线精品亚洲视频在线| 人妻精品视频一区二区三区| 日韩av精品国产av精品| 99综合精品久久| 亚洲一区二区三区av资源 | 亚洲av永久无码精品成人|