周佳寧++趙彬翔
摘 要 由于公司的各個(gè)部門需要大量的數(shù)據(jù)進(jìn)行處理和接收,所以公司部門需要按照接收到的信息,存放于指定的目錄中,將信息進(jìn)行整合和歸納,并且將文件重新進(jìn)行命名和靠背。通過Java的文件監(jiān)控程序,能夠有效的幫助用戶,在實(shí)施數(shù)據(jù)的調(diào)整和歸納的過程中將文件信息進(jìn)行監(jiān)控和采集。能夠方便客戶在查找信息、進(jìn)行歷史信息的搜集和修改上快速進(jìn)行,本文針對(duì)Java的文件監(jiān)控程序的設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行理論探討,洗完更夠?qū)χv來Java監(jiān)控程序的設(shè)計(jì)和實(shí)現(xiàn)提供一定的參考價(jià)值。
【關(guān)鍵詞】Java 文件監(jiān)控 程序設(shè)計(jì) 實(shí)現(xiàn)
1 設(shè)計(jì)思路與總體框架
1.1 設(shè)計(jì)思路
Java文件在進(jìn)行設(shè)計(jì)思路,是需要針對(duì)大量需要接收和處理的數(shù)據(jù)資源進(jìn)行匯總和預(yù)設(shè),根據(jù)不同數(shù)據(jù)的種類進(jìn)行分類、分時(shí)間段的保存。每天都需要對(duì)數(shù)據(jù)的分類與存儲(chǔ)工作,所以會(huì)浪費(fèi)大量的人力資源、時(shí)間資源。
所以,Java的文件監(jiān)控程序的設(shè)計(jì)順其自然的產(chǎn)生了。這是為了能夠讓公司各個(gè)部門,以及需要用到數(shù)據(jù)進(jìn)行采集、接收、處理、分類的其他機(jī)構(gòu)都能夠高效率的進(jìn)行工作的一種程序。Java的文件監(jiān)控程序的設(shè)計(jì)與實(shí)現(xiàn),也是為了能夠順利的進(jìn)行文件處理,在桌面版的自動(dòng)監(jiān)控、程序進(jìn)行中,按照設(shè)計(jì)好的參數(shù),自動(dòng)監(jiān)控?cái)?shù)據(jù)處理目錄,簡(jiǎn)化數(shù)據(jù)處理工作,從而加快服務(wù)效率。
1.2 總體框架
Java文件監(jiān)控程序的總體框架,主要是為了在進(jìn)行處理數(shù)據(jù)與處理業(yè)務(wù)時(shí),需要按照所要處理的數(shù)據(jù)進(jìn)行流程梳理,明確總體業(yè)務(wù)流程的走向。按照不同的功能對(duì)業(yè)務(wù)流程進(jìn)行分類細(xì)化處理。不同的板塊,分類的原則不同,需要處理的數(shù)據(jù)也不同。按照數(shù)據(jù)的接收情況、處理情況、操作情況需要設(shè)置不同的板塊,將流程分段處理,完善各個(gè)環(huán)節(jié)的細(xì)化工作。然后設(shè)計(jì)好模板需要的參數(shù)。
數(shù)據(jù)在接收的部分,需要按照不同數(shù)據(jù)的總體進(jìn)行接收。通過 ftp 方式獲取遠(yuǎn)程數(shù)據(jù),并且在接收之后,迅速保存在本地的目錄中。從數(shù)據(jù)的處理模塊方面,對(duì)于數(shù)據(jù)的整體完成程度,以及數(shù)據(jù)的接收情況進(jìn)行統(tǒng)一的驗(yàn)證和考察。
同時(shí)對(duì)于數(shù)據(jù)產(chǎn)生異常的情況,可以在數(shù)據(jù)板塊中進(jìn)行數(shù)據(jù)的檢查。通過監(jiān)控,還可以看出是哪個(gè)階段出現(xiàn)了問題,并且對(duì)數(shù)據(jù)的處理進(jìn)行重新操作。在進(jìn)行文件操作的過程中,不同類別的數(shù)據(jù),以及接收的文件名稱不同進(jìn)行分類存儲(chǔ)。這需要事前進(jìn)行參數(shù)設(shè)置,在相應(yīng)的板塊中來實(shí)現(xiàn)整體流程的規(guī)范。比如:文件、數(shù)據(jù)的接收時(shí)間、數(shù)據(jù)的分類情況、數(shù)據(jù)的命名規(guī)則。在進(jìn)行程序處理是,要按照總體流程的程序進(jìn)行。
2 桌面框架的實(shí)現(xiàn)
通過桌面框架的方式實(shí)現(xiàn)Java類的swt庫類實(shí)現(xiàn)。優(yōu)于swt本身就屬于一個(gè)庫類??梢酝ㄟ^不同的電腦終端接收到的文件端口不同,按照不同端口上的GUI空間進(jìn)行處理。并且可以通過swt軟件開發(fā)程序,進(jìn)行桌面應(yīng)用。使用的主機(jī)相同的外感官感受。
從整體布局當(dāng)中分析,可以看出當(dāng)前shell庫類,在生成一個(gè)主頁面會(huì)通過主頁面上安裝和使用的swt庫類的控件,進(jìn)行頁面窗口元素的布局和控制。通過使用的shell類的生成窗體進(jìn)行操作,并且能夠在操作的過程中現(xiàn)實(shí)窗體的位置、大小等基本信息。同時(shí)再使用 MenuItem類進(jìn)行設(shè)置窗體的各項(xiàng)功能的使用,按照設(shè)置窗口的各項(xiàng)功能,開展制定的菜單進(jìn)行顯示。另外,還可以通過shell.set Back ground Image()進(jìn)行窗口背景的設(shè)置。同時(shí)進(jìn)行文字的選項(xiàng)點(diǎn)擊之后開始進(jìn)入相應(yīng)的子頁面,通過子頁面開展各項(xiàng)元素的位置以及相應(yīng)的文字選項(xiàng)進(jìn)行控制,這就需要應(yīng)用到Group來設(shè)置。比如:進(jìn)行參數(shù)設(shè)置,需要進(jìn)入相應(yīng)的頁面開展初始化組合。還需要通過: group_cs.set Layout()進(jìn)行框架的整體布局,可以選用水平方向還是垂直方向。還可以使用使用 set Bounds()設(shè)置子頁面的位置,開展文字描述。最后,需要使用shell.set Enabled(true)讓控件變得更加具有可見性,實(shí)現(xiàn)整體框架的程序編程 。
3 主要功能模板
3.1 數(shù)據(jù)接收板塊
數(shù)據(jù)接收板塊主要是負(fù)責(zé)整體程序的文件信息、數(shù)據(jù)的而接收,并且將接收到的信息放在指定的目錄中,讓文件信息、數(shù)據(jù)能夠快速進(jìn)行分類。根據(jù)不同的文件名稱,還可以在接收到數(shù)據(jù)是通過分類類型進(jìn)行分類。同時(shí)模塊功能在實(shí)現(xiàn)數(shù)據(jù)的獲取是,首先需要獲取到初始化的操作權(quán)限,這就需要開展ftP進(jìn)行初始化設(shè)置。在數(shù)據(jù)接收的過程中,還需要生成 Ftp Client的對(duì)象類,開展實(shí)例雙向參數(shù)分別進(jìn)行遠(yuǎn)程的主機(jī)IP定位,連接主機(jī)地址,將編碼程序進(jìn)行連接。然后,使用實(shí)例的方法函數(shù) login 進(jìn)行 ftp 的遠(yuǎn)程操作處理。在操作中,還需要將兩個(gè)參數(shù)的用戶名和密碼進(jìn)行ftp連接。實(shí)施初始需要運(yùn)用到的語句為: new Ftp Client(hots,21);遠(yuǎn)程連接是需要運(yùn)用到的語句為: ftp.log-in(user,password)。如果因?yàn)榫W(wǎng)絡(luò)故障無法連接到其他端口進(jìn)行ftp目錄的連接,需要根據(jù)不同的情況輸出信息交給客戶。在連接的過程中就可以進(jìn)行操作。連接成果之后,使用list() 可以得到遠(yuǎn)程目錄的文件信息,將信息進(jìn)行數(shù)據(jù)流入,根據(jù)文件對(duì)象進(jìn)行緩沖和讀取。由于緩沖的過程中字節(jié)大小不同,還需要利用: byte[]buffer=new byte[1024] 設(shè)置為統(tǒng)統(tǒng)概念以的1024字節(jié)進(jìn)行處理。將數(shù)據(jù)文件進(jìn)行字節(jié)分段讀取,通過 File Out put Stream 文件進(jìn)行輸入操作,寫入本地目錄中存放。
3.2 數(shù)據(jù)處理板塊
數(shù)據(jù)處理板塊,主要是根據(jù)數(shù)據(jù)的總結(jié)進(jìn)行分類。獲取數(shù)據(jù),分類進(jìn)行儲(chǔ)存的一種方式。這種方式實(shí)現(xiàn)需要根據(jù) File 文件類以及其功能,該函數(shù)進(jìn)行系統(tǒng)的操作。首先設(shè)置實(shí)例 File file=new File開展制定目錄,然后根據(jù)其對(duì)象會(huì)理函數(shù)進(jìn)行文件數(shù)據(jù)的瀏覽。將所有文件的實(shí)體進(jìn)行壓縮,或者其他環(huán)節(jié)的處理操作。這需要對(duì)數(shù)據(jù)進(jìn)行循環(huán)教研操作,得到每一個(gè)文件,并根據(jù)指定的分類的準(zhǔn)確性進(jìn)行校驗(yàn)。同類型的數(shù)據(jù)進(jìn)行操作。對(duì)于接收到的不完整數(shù)據(jù),需要剔除。保障數(shù)據(jù)的整體性和可用性。在驗(yàn)證的過程中,需要對(duì)文件、數(shù)據(jù)進(jìn)行驗(yàn)證。驗(yàn)證的方法主要是通過 File 類的 length()處理開展的。將文件進(jìn)行循環(huán)過后,對(duì)于其真實(shí)的大小與高標(biāo)準(zhǔn)大小進(jìn)行對(duì)比,如果大小不符合,即為一場(chǎng)數(shù)據(jù),需要進(jìn)行刪除操作,如果數(shù)據(jù)的大小符合要求,那么將需要的文件放入指定的目錄中,對(duì)于文件的名稱也需要按照規(guī)定進(jìn)行更改,才能夠放入目錄,進(jìn)存放操作。endprint
Java的數(shù)據(jù)監(jiān)控程序,在進(jìn)行監(jiān)控部分的使用時(shí),需要對(duì)于Java的操作 Mythread 的程序進(jìn)行具體的操作,開展截面上的監(jiān)控按鈕,進(jìn)行文件的處罰監(jiān)控模式運(yùn)行,并且對(duì)于 Runnable 的方法實(shí)現(xiàn)線程操作處理,并且通過監(jiān)控環(huán)節(jié)將沒有處理的文件開展休眠模式,休眠模式一共設(shè)置為五秒鐘,可以根據(jù)Thread.sleep(5000)的操作制定設(shè)置的睡眠時(shí)間。
3.3 參數(shù)設(shè)置板塊
最后,進(jìn)行參數(shù)設(shè)置板塊的參數(shù)數(shù)據(jù)進(jìn)行重新的設(shè)置和讀取。需要在功能上進(jìn)行創(chuàng)新和改革。所以ftp在連接的過程中,需要對(duì)基本的信息、監(jiān)控的目錄分類情況、文件的操作流程、以及最先實(shí)現(xiàn)的配置信息的寫入進(jìn)行讀取。首先,進(jìn)行 Document.create Document()創(chuàng)建函數(shù)document作為操作對(duì)象,使用add Element(“trees”)開展新的措施,創(chuàng)建一個(gè)xml文件的最中目錄,然后將目錄劍豪之后,需要進(jìn)行對(duì) Element為目標(biāo)的 add Attribute()的配置節(jié)點(diǎn)加入。比如說:將遠(yuǎn)程的操作ftp作為訪問的參數(shù),能夠訪問到遠(yuǎn)程的用戶名與密碼進(jìn)行一步分操作,那么使用 tree Element.Add At-tribute(“ftp name”,”ftp user”),tree Element.add At-tribute(“ftp pass”,”123”)的操作,就可以幫助配置節(jié)點(diǎn)加入完成最終的參數(shù)設(shè)置板塊。在操作的過程中,還需要進(jìn)行各項(xiàng)參數(shù)信息的設(shè)置工作,在完成之后,可以通過XML文件進(jìn)行兌現(xiàn)的寫入,比如:XML Writer writer=new XML Writer(new File-Out put Stream))完成最終的文件配置生成。
4 結(jié)論
本文主要研究的是 Java 的文件監(jiān)控程序設(shè)計(jì)與實(shí)現(xiàn),通過對(duì)于如何實(shí)現(xiàn)進(jìn)行理論的闡述,其次是通過實(shí)時(shí)接收數(shù)據(jù),并且能夠有效保存數(shù)據(jù)的數(shù)據(jù)接收模板的研究,其次對(duì)于接受的數(shù)據(jù)進(jìn)行驗(yàn)證和循環(huán)計(jì)算的數(shù)據(jù)處理板塊的研究,對(duì)于對(duì)文件進(jìn)行分類、操作、存儲(chǔ)開展數(shù)據(jù)應(yīng)用,最后將各個(gè)相關(guān)的參數(shù)進(jìn)行功能配置,設(shè)置好參數(shù)設(shè)置板塊。開展了Java庫類swt的實(shí)現(xiàn)整體的用戶可視化窗體操作功能,隨后對(duì)于xml的文件操作。文件讀取、ftp實(shí)現(xiàn)類的如何操作使用,開展了對(duì)Java的總體程序的各項(xiàng)思路以及實(shí)現(xiàn)方法進(jìn)行了設(shè)計(jì)和討論,結(jié)合應(yīng)用的程序,讓研究者有了進(jìn)一步的了解。
參考文獻(xiàn)
[1]王天一,王通,朱紅.論JAVA編程中異常處理的方法與技巧[J].科技展望,2017,27(22):15.
[2]王曉亮.JAVA虛擬機(jī)內(nèi)存使用優(yōu)化研究與應(yīng)用[J].價(jià)值工程,2017,36(21):221-222.
[3]昝道廣.Java程序開發(fā)數(shù)據(jù)庫與框架應(yīng)用[J/OL].電子技術(shù)與軟件工程,2017(11):178.
[4]溫立輝.Java語言攔截機(jī)制之實(shí)現(xiàn)原理[J].科技風(fēng),2017(03):62.
[5]柳郁,孫小兵,李斌.面向Java程序包的代碼概要自動(dòng)生成技術(shù)研究[J/OL].計(jì)算機(jī)科學(xué)與探索,2017,11(02):212-220.
作者簡(jiǎn)介
周佳寧(1995-),男,山西省太原市人。大學(xué)本科學(xué)歷。
趙彬翔(1995 -) ,男,山西省長治市人。大學(xué)本科學(xué)歷。
作者單位
山西農(nóng)業(yè)大學(xué)信息學(xué)院 山西省晉中市 030801endprint