專利名稱:文件管理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種文件管理方法和裝置。
背景技術(shù):
在電子科技領(lǐng)域,“樹”結(jié)構(gòu),是由一個集合以及在該集合上定義的一種關(guān)系構(gòu)成的。集合中的元素稱為樹的結(jié)點,所定義的關(guān)系稱為父子關(guān)系。父子關(guān)系在樹的結(jié)點之間建立了一個層次結(jié)構(gòu)。在這種層次結(jié)構(gòu)中有一個結(jié)點具有特殊的地位,這個結(jié)點稱為該樹的根結(jié)點,或簡稱為樹根。將“樹”結(jié)構(gòu)應(yīng)用于計算機領(lǐng)域,用以展示終端設(shè)備(包括個人電腦、手機等)中磁盤以及目錄樹結(jié)構(gòu)。最常見的,包括windows系統(tǒng)下的“文件系統(tǒng)目錄樹”,亦稱為“文件夾樹”,具體如圖I所示。
·
上述的“文件夾樹”中,進行相應(yīng)的樹結(jié)構(gòu)顯示的實際上是文件夾結(jié)構(gòu),而對于具體的文件則沒有相應(yīng)的區(qū)分,并且,在具體的文件夾中,由于文件數(shù)量眾多,類型復(fù)雜,也沒有進行相應(yīng)的統(tǒng)計信息的顯示。這樣的方式對于具體文件的管理顯然存在缺陷,因此,對于具體類型的文件的管理方案的需求日益增高。例如,在圖片管理方面,現(xiàn)有技術(shù)及提出了相應(yīng)的解決方案,在這一方面,比較有代表性的是Picasa (—種圖形管理軟件),如圖2所示,Picasa是一款可幫助用戶在計算機上立即找到、修改和共享所有圖片的軟件。每次打開Picasa時,Picasa都會自動查找磁盤內(nèi)的所有圖片,并按日期順序放在可見的相冊中。Picasa實現(xiàn)了一個基于文件夾列表的通鋪展示,將所有有圖目錄列在右側(cè)面板,點擊左邊目錄列表中一個目錄后,展示的也只是該目錄的目錄內(nèi)容,而不是該目錄所有子孫目錄的內(nèi)容的集合。操作起來和用戶熟悉的目錄系統(tǒng)不太一致。在實現(xiàn)本發(fā)明實施例的過程中,申請人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題
現(xiàn)有技術(shù)中的圖片管理方案(例如Picasa)為了展示通鋪結(jié)構(gòu)拋棄了文件夾樹的關(guān)聯(lián)
性,導(dǎo)致用戶失去了熟悉的文件夾樹定位目錄的方法,左側(cè)文件夾列表過多。沒有按照文件夾樹的組織方式組織起來。Picasa的通鋪只是全部目錄的通鋪,當(dāng)點擊左側(cè)列表中一個目錄的時候,只是展示該目錄而不是這個目錄下所有子孫有圖目錄的集合,如圖3所示,使得大致知道目標(biāo)在哪個目錄時候,定位圖片不太方便。而對于其他類型的文件(如視頻、音頻等),也同樣缺少基于樹結(jié)構(gòu)的管理方案。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種文件管理方法和裝置,解決現(xiàn)有技術(shù)中缺少能夠以樹狀結(jié)構(gòu)進行指定類型文件的管理,并顯示目錄樹中各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的文件的問題。
為達到上述目的,本發(fā)明實施例一方面提供了一種文件管理方法,包括
對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫;
當(dāng)接收到進行指定類型的文件的管理操作指示時,在所述數(shù)據(jù)庫中讀取包含所述指定類型的文件的目錄的信息,以及各目錄中所包含的所述指定類型的文件的數(shù)量信息;
根據(jù)所讀取到的信息,建立包含所述指定類型的文件的目錄的目錄樹,并在各目錄節(jié)點顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和;
當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,遍歷所述目錄樹上所顯示的被選擇
的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。另一方面,本發(fā)明實施例還提供了一種文件管理裝置,包括
掃描模塊,用于對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫;
獲取模塊,用于當(dāng)接收到進行指定類型的文件的管理操作指示時,在所述數(shù)據(jù)庫中讀取包含所述指定類型的文件的目錄的信息,以及各目錄中所包含的所述指定類型的文件的數(shù)量信息;
建立模塊,用于根據(jù)所述獲取模塊所讀取到的信息,建立包含所述指定類型的文件的目錄的目錄樹,并在各目錄節(jié)點顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和;
顯示模塊,用于當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,遍歷所述建立模塊所建立的所述目錄樹上所顯示的被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下優(yōu)點
通過應(yīng)用本發(fā)明實施例的技術(shù)方案,可以以樹狀結(jié)構(gòu)進行指定類型文件的管理,并通過通鋪列表的形式進行目錄樹中各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的文件的顯示,從而,實現(xiàn)在能夠準(zhǔn)確表現(xiàn)文件夾歸屬關(guān)系的樹狀結(jié)構(gòu)中進行直觀的文件管理操作,準(zhǔn)確的對文件位置和歸屬關(guān)系進行定位,使文件管理操作更加方便,文件定位更加準(zhǔn)確。
圖I為現(xiàn)有技術(shù)中的文件夾樹的示意 圖2為現(xiàn)有技術(shù)中的Picasa的顯示界面的示意 圖3為現(xiàn)有技術(shù)中的Picasa的通鋪顯示界面的示意 圖4為本發(fā)明實施例提出的一種文件管理方法的流程示意 圖5為本發(fā)明實施例提出的一種具體應(yīng)用場景中的文件管理方法的流程示意 圖6為本發(fā)明實施例提出的一種具體應(yīng)用場景下建立目錄樹的過程的示意 圖7為本發(fā)明實施例提出的一種具體應(yīng)用場景下進行通鋪顯示的示意圖;圖8為本發(fā)明實施例提出的一種文件管理裝置的結(jié)構(gòu)示意圖。
具體實施例方式如背景技術(shù)所述,現(xiàn)有的技術(shù)方案中雖然存在例如windows提出的文件夾樹的文件夾管理方式,但是,對于任意一種指定類型的文件,則缺少基于樹結(jié)構(gòu)的管理方式,從而,雖然可以通過通鋪的方式進行文件夾內(nèi)部的文件瀏覽和展示,但卻不能準(zhǔn)確的反映文件夾之間的歸屬和位置關(guān)系,無法實現(xiàn)文件的準(zhǔn)確定位,對用戶的文件管理,尤其是在獲知文件存儲路徑的情況下的文件管理造成了不便?;谏鲜鲈?,如果能夠提出一種基于樹結(jié)構(gòu)的文件管理方法,在顯示歸屬文件夾的樹結(jié)構(gòu)的情況下,對指定類型的文件進行管理,將使上述問題得到解決,本發(fā)明實施例便是基于此目的提出了一種基于樹結(jié)構(gòu)的文件管理方法。如圖4所示,為本發(fā)明實施例提出的一種文件管理方法的流程示意圖,該方法具 體包括以下步驟
步驟S401、對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫。在本步驟中,指定的類型需要進行預(yù)先設(shè)定,可以依據(jù)當(dāng)前需要管理的文件類型進行設(shè)定,當(dāng)然,如果本技術(shù)方案應(yīng)用于具體的管理項目(例如,一款具體的管理軟件),那么,這樣的指定的文件類型的設(shè)定則需要在管理項目啟動前,甚至在管理項目的初始創(chuàng)建(例如,軟件編寫)的過程中進行設(shè)置,具體的文件類型的設(shè)置方式可以是直接以文件擴展名進行限定,也可以是以該類型文件的其他可識別的特征屬性進行限定。例如,對于圖片文件,可以窮舉各種圖片文件可能具有的文件擴展名,作為指定的類型的限定條件,包括.bmp (圖象文件)/. tif (高質(zhì)量圖象文件)/. gif (256色圖象文件)/. ico (圖標(biāo))/.jpg (壓縮過的圖象文件)/. pdf (便攜式文檔格式)等。與此類似的,對于視頻文件,可以窮舉各種視頻文件可能具有的文件擴展名,作為指定的類型的限定條件,包括· avi (音頻視頻交錯格式)/· mpeg (運動圖像專家組格式)/. rm (基于Real Networks公司所制定的音頻視頻壓縮規(guī)范的一種視頻合適)/. rmvb (由RM視頻格式升級延伸出的新視頻格式)/. wmv (微軟推出的一種采用獨立編碼方式的文件壓縮格式)/.mov (蘋果公司推出的一種視頻格式)等。除此之外,音頻文件、其他多媒體文件、文檔文件等類型的文件均可以通過相類似的文件擴展名的方式進行類型限定,在此不再一一列舉。具體設(shè)定的文件擴展名的數(shù)量可以根據(jù)實際需要進行調(diào)整,這樣的變化并不影響本發(fā)明的保護范圍。除了文件擴展名的限定方式,文件所具有的其他可識別的特征屬性也同樣可以用來進行類型設(shè)定,例如文件大小、文件所含有的關(guān)鍵信息等。具體的文件類型的設(shè)定方式可以根據(jù)實際需要調(diào)整,也可以根據(jù)進行相應(yīng)類型文件查詢操作的便捷性進行調(diào)整,具體設(shè)定方式的變化并不會影響本發(fā)明的保護范圍。在完成上述的文件類型的設(shè)定后,本步驟的具體操作便具有了實現(xiàn)的前提,在實際的應(yīng)用場景中,本步驟的處理過程具體包括
(I)磁盤目錄的獲取。
即獲取當(dāng)前本地終端設(shè)備的磁盤中的所有目錄的信息,為后續(xù)的指定類型的文件的查詢操作提供路徑依據(jù)。需要進一步指出的是,對于磁盤中存在多個分區(qū)的情況,可以直接對所有分區(qū)進行目錄獲取操作,也可以只對其中的部分分區(qū)進行目錄獲取操作,例如,對于系統(tǒng)分區(qū)、系統(tǒng)備份分區(qū)或隱藏分區(qū)等可能影響系統(tǒng)穩(wěn)定性或涉及用戶私密信息的分區(qū),均可以不做目錄獲取處理,從而避免因為后續(xù)操作影響系統(tǒng)的正常運行,或泄漏用戶的私密信息。具體的,在磁盤中進行目錄獲取范圍可以根據(jù)實際需要進行設(shè)定,這樣的變化并不影響本發(fā)明的保護范圍。(2)確定目標(biāo)目錄。在此處理過程中,主要是為了找到所有包含指定類型的文件的目錄,只有這些目錄才是本次文件管理過程的目標(biāo),其他沒有包含指定類型的文件的目錄作為目錄結(jié)構(gòu)的參考資源即可。 具體的確定目標(biāo)目錄的方式是根據(jù)獲取到的所有目錄的信息,遍歷所有目錄,確定包含所述指定類型的文件的目錄,在實際的應(yīng)用場景中,具體可以為
根據(jù)獲取到的所有目錄的信息,調(diào)用windows通用API (Application ProgrammingInterface,應(yīng)用程序編程接口),實現(xiàn)對所有目錄的遍歷操作,并根據(jù)遍歷結(jié)果,確定包含指定類型的文件的目錄。需要指出的是,所謂的包含指定類型的文件的目錄,不僅包括直接包含指定類型的文件的文件夾,還進一步包括該文件夾所歸屬的各上級文件夾。例如,文件夾A中包括指定類型的文件,并且文件夾A歸屬于文件夾B,文件夾B又歸屬于文件夾C,文件夾C是直接建立于磁盤D中的文件夾,文件夾B和文件夾C中并不直接包括指定類型的文件,那么,在確定目標(biāo)目錄的過程中,所確定的目標(biāo)目錄包括D:\C\B\A,而不僅僅是文件夾A,文件夾B和文件夾C因為存在包括指定類型的文件的子孫文件夾,同樣也屬于所確定的目標(biāo)目錄的范圍。(3)確定文件數(shù)量。分別在各包含指定類型的文件的目錄中,確定所包含的指定類型的文件的數(shù)量。需要進一步指出的是,此處的確定文件數(shù)量的操作包括兩種情況。情況一、所確定的數(shù)量不僅包括文件夾直接包含指定類型的文件的數(shù)量,還進一步包括該文件夾的各級子孫文件夾中所包含指定類型的文件的數(shù)量。同樣以(2)中的示例為例,文件夾A中直接包括的指定類型的文件的數(shù)量為1,文件夾B和文件夾C中并不直接包括指定類型的文件,但因為其存在包括指定類型的文件的子孫文件夾(文件夾A),所以,本處理過程中所確定的文件夾B和文件夾C中的指定類型的文件的數(shù)量同樣也為I。情況二、所確定的數(shù)量只包括文件夾直接包含指定類型的文件的數(shù)量。在實際應(yīng)用中,可以暫時只存儲各文件夾中直接包含指定類型的文件的數(shù)量,而在最終要進行數(shù)量展示的情況下,再根據(jù)文件夾之間的歸屬關(guān)系進行數(shù)量的求和計算。同樣參照上述的示例,本步驟中所確定的數(shù)量為文件夾A中包括的指定類型的文件的數(shù)量為1,文件夾B和文件夾C中包括指定類型的文件的數(shù)量為0,但是此過程中需要存儲文件夾A、文件夾B和文件夾C之間的歸屬關(guān)系,以備在后續(xù)的需要進行數(shù)量展示的過程中,根據(jù)相應(yīng)的歸屬關(guān)系進行數(shù)量求和操作。綜合比較上述的兩種情況,情況二的處理可以減少確定文件數(shù)量過程中的信息處理量,但需要增加數(shù)量展示過程時的信息處理量(文件夾路徑關(guān)聯(lián)和求和操作),情況一則恰好相反,具體的,可以根據(jù)實際需要,選擇上述的任意一種情況進行本步驟的操作,這樣的變化并不影響本發(fā)明的保護范圍。(4)存儲查詢結(jié)果。將包含所述指定類型的文件的目錄的信息,以及相應(yīng)的目錄中所包含的所述指定類型的文件的數(shù)量信息,存儲至數(shù)據(jù)庫。當(dāng)然,在實際應(yīng)用中,如果有其他的存儲資源,例如本地的某個磁盤中的空間以及內(nèi)存等,則同樣可以存儲上述的查詢結(jié)果。具體的存儲位置的變化并不會影響本發(fā)明的保護范圍。 以存儲至數(shù)據(jù)庫為例,在實際的應(yīng)用場景中,上述的查詢結(jié)果的存儲過程,實際包括相應(yīng)的信息表的存儲,具體包括
首先,分別為各包含指定類型的文件的目錄生成目錄信息表。其中,所生成的目錄信息表包含各目錄的目錄路徑和各目錄所包含的所述指定類型的文件的數(shù)量。然后,分別為各指定類型的文件生成文件信息表。其中,所生成的文件信息表包含各指定類型的文件的存儲路徑和各指定類型的文件所歸屬的目錄路徑。之后,將生成的目錄信息表和文件信息表存儲至數(shù)據(jù)庫。在完成相應(yīng)的存儲后,目錄信息表和文件信息表可以通過兩者所共有的目錄路徑項進行相對應(yīng)的關(guān)聯(lián)?;谏鲜龅募夹g(shù)思路,在實際的應(yīng)用中,為了提高處理效率,可以進行逐級掃描,具體的處理過程如下
首先,掃描根目錄下直接包括的對象。如果掃描到的對象為文件夾,則在根目錄下增加待掃描節(jié)點,如果掃描到指定類型的文件,則對根目錄所包括的指定類型的文件的計數(shù)結(jié)果加I處理,如果掃描到其他類型的文件,則放棄對該對象進行處理。之后,繼續(xù)對根目錄下的各待掃描節(jié)點進行掃描,確定各待掃描節(jié)點下的待掃描節(jié)點和各待掃描節(jié)點所包括的指定類型的文件的計數(shù)結(jié)果。繼續(xù)對以下的各級待掃描節(jié)點進行掃描,直至沒有查詢到新的下級待掃描節(jié)點為止,完成全部掃描。記錄掃描到的結(jié)果。結(jié)果包含各節(jié)點中的指定類型的文件的數(shù)量和各節(jié)點之間的歸屬關(guān)系。步驟S402、當(dāng)接收到進行指定類型的文件的管理操作指示時,在數(shù)據(jù)庫中讀取包含該指定類型的文件的目錄的信息,以及各目錄中所包含的該指定類型的文件的數(shù)量信
肩、O在實際應(yīng)用中,本步驟中所提及的接收到進行指定類型的文件的管理操作指示,具體為
啟動指定類型的文件的管理操作進程的指示;和/或,
對當(dāng)前的指定類型的文件的管理操作進程進行更新的指示。在一個文件管理項目中,上述的兩種管理操作指示可以分別存在,也可以同時存在,這樣的變化并不影響本發(fā)明的保護范圍。步驟S403、根據(jù)所讀取到的信息,建立包含指定類型的文件的目錄的目錄樹,并在各目錄節(jié)點顯示目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的指定類型的文件的數(shù)量和。需要指出的是,對應(yīng)步驟S401中的(3)中的兩種情況,如果采用情況一,已經(jīng)統(tǒng)計好了相應(yīng)的數(shù)量和,則在本步驟 中是進行的直接的結(jié)果顯示,而如果采用情況二,則在本步驟中需要進行相應(yīng)的求和操作,之后,將求和的結(jié)果進行顯示。為了提高前期掃描的處理速度,此處以采用情況二為例,對本步驟的處理過程進行說明如下。(I)建立目錄樹。根據(jù)所讀取到的包含指定類型的文件的目錄的信息,在內(nèi)存中建立包含指定類型的文件的目錄的目錄樹。其中,為了進一步對顯示內(nèi)容范圍進行控制,本步驟的處理過程進一步包括過濾流程,具體包括
在包含指定類型的文件的目錄中,根據(jù)預(yù)設(shè)的過濾規(guī)則,確定不進行顯示的目錄,將不進行顯示的目錄和不進行顯示的目錄下所包含的全部下級目錄設(shè)置為隱藏目錄,然后,建立除隱藏目錄之外的其他包含指定類型的文件的目錄的目錄樹。在實際的應(yīng)用場景中,上述的預(yù)設(shè)的過濾規(guī)則,具體包括
目錄樹的顯示規(guī)則;和/或,
對一個或多個包含指定類型的文件的目錄進行隱藏的指示。通過這樣的處理,可以濾除用戶不希望顯示或可能對用戶進行文件管理構(gòu)成干擾的目錄。例如,通過目錄樹的顯示規(guī)則,將系統(tǒng)文件以及被進行保護的文件所歸屬的目錄進行濾除,避免由于用戶的操作而對系統(tǒng)構(gòu)成破壞。另一方面,也可以通過相應(yīng)的隱藏指示,將用戶的私密文件進行隱藏,從而對用戶的隱私信息進行保護。在實際的應(yīng)用場景中,上述的過濾過程以及過濾規(guī)則的設(shè)置可以根據(jù)實際需要進行調(diào)整,是否建立相應(yīng)的過濾過程以及過濾規(guī)則具體內(nèi)容的變化并不會影響本發(fā)明的保護范圍,并且,無論應(yīng)用步驟S401中的(3)中的哪種情況,都可以應(yīng)用上述的過程。(2)數(shù)量求和。根據(jù)所讀取到的相應(yīng)的目錄中所包含的指定類型的文件的數(shù)量信息,確定目錄樹中的各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的指定類型的文件的數(shù)量和。(3)結(jié)果顯示。在目錄樹的各目錄節(jié)點中顯示目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的指定類型的文件的數(shù)量和。步驟S404、當(dāng)接收到目錄樹中的目錄節(jié)點的選擇指示時,遍歷目錄樹上所顯示的被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的指定類型的文件。本步驟是對具體文件的顯示過程,具體包括以下處理流程。
當(dāng)接收到目錄樹中的目錄節(jié)點的選擇指示時,獲取被選擇的目錄節(jié)點所對應(yīng)的目錄,以及目錄的全部下級目錄的路徑信息。根據(jù)路徑信息,獲取指定類型的文件的信息。根據(jù)指定類型的文件的信息,以通鋪列表的形式顯示被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的指定類型的文件。具體的,結(jié)合前述的步驟S401中的(4)中的在數(shù)據(jù)庫中存儲目錄信息表和文件信息表的處理形式,本步驟的具體實現(xiàn)過程可以為
當(dāng)接收到目錄樹中的目錄節(jié)點的選擇指示時,根據(jù)目錄節(jié)點所對應(yīng)的目錄信息表中所記錄的目錄路徑,在數(shù)據(jù)庫中查詢包含目錄路徑的文件信息表。
根據(jù)查詢到的文件信息表中所記錄的存儲路徑,獲取指定類型的文件的信息。根據(jù)指定類型的文件的信息,以通鋪列表的形式顯示被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的指定類型的文件。與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下優(yōu)點
通過應(yīng)用本發(fā)明實施例的技術(shù)方案,可以以樹狀結(jié)構(gòu)進行指定類型文件的管理,并通過通鋪列表的形式進行目錄樹中各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的文件的顯示,從而,實現(xiàn)在能夠準(zhǔn)確表現(xiàn)文件夾歸屬關(guān)系的樹狀結(jié)構(gòu)中進行直觀的文件管理操作,準(zhǔn)確的對文件位置和歸屬關(guān)系進行定位,使文件管理操作更加方便,文件定位更加準(zhǔn)確。下面,結(jié)合具體的應(yīng)用場景,對本發(fā)明實施例所提出的技術(shù)方案進行說明。為了方便說明,本發(fā)明實施例以圖片文件作為指定類型的文件的示例,對相應(yīng)的管理過程進行具體的說明。對于其他類型的文件,具體的處理過程與此類似,不再重復(fù)說明。相應(yīng)的技術(shù)思想為
首先,掃描本地磁盤,獲得磁盤上各個目錄中圖片的分布情況,將目錄以及該目錄所擁有的圖片數(shù)量信息持久化到數(shù)據(jù)庫中進行保存。當(dāng)圖片管理程序啟動時,從數(shù)據(jù)庫中讀取有圖目錄以及目錄中圖片數(shù)量,并在內(nèi)存中建立一棵有圖目錄樹。查詢的時候,通過對有圖目錄樹的遍歷來實現(xiàn)對通鋪列表的獲取,并將各目錄節(jié)點中的圖片信息通過通鋪列表進行顯示。進一步的,為了保護用戶私密信息,可以引入黑名單過濾機制。在設(shè)置了黑名單目錄時,對于目錄樹創(chuàng)建過程,黑名單目錄也會放入內(nèi)存所建立的目錄樹列表中,但在具體的目錄樹顯示和查詢過程中,采用黑名單過濾的辦法,將黑名單目錄及其所對應(yīng)的子孫有圖目錄都去除掉,不在最終的目錄樹顯示界面中進行顯示。
為了進一步對本發(fā)明實施例所提出的技術(shù)方案進行說明,下面,分別從樹狀顯示以及黑名單過濾規(guī)則兩方面進行具體說明
一、基于目錄樹的通鋪展示的實現(xiàn)。如圖5所示,為本發(fā)明實施例提出的一種具體應(yīng)用場景下的的文件管理方法的流程示意圖,包括以下步驟
步驟S501、掃描磁盤,獲取目錄及圖片信息,并存入數(shù)據(jù)庫。
通過對磁盤進行預(yù)先全盤掃描來獲取磁盤上的有圖目錄列表以及每一個目錄包含的圖片信息。具體的,可以通過調(diào)用windows通用API來實現(xiàn)對磁盤目錄的遍歷。首先,獲取到磁盤的根目錄,并為每個根目錄創(chuàng)建一個相應(yīng)的隊列。在各根目錄下進一步查詢其直接包括的對象,如果查找到的對象為文件夾,則在該根目錄下增加一個新的節(jié)點,而如果查找到的對象為圖片文件,則在該根目錄所對應(yīng)的圖片數(shù)量統(tǒng)計結(jié)果上增加I個計數(shù),如果查找到的對象為其他文件,則不進行處理。完成了根目錄查找后,進一步查詢該根目錄下的各節(jié)點所直接包括的對象,具體的處理規(guī)則與根目錄下的處理規(guī)則相類似,從而,在各節(jié)點下進一步完成了下級節(jié)點和圖片數(shù)量的統(tǒng)計。
如此繼續(xù)往下逐級查詢下級節(jié)點,直到?jīng)]有新的下級節(jié)點為止,結(jié)束掃描。對掃描得到的有圖目錄列表以及目錄中的圖片信息用以下表I和表2所示的表結(jié)構(gòu)存儲到數(shù)據(jù)庫中
表I目錄信息表(FolderTable)
權(quán)利要求
1.一種文件管理方法,其特征在于,包括 對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫; 當(dāng)接收到進行指定類型的文件的管理操作指示時,在所述數(shù)據(jù)庫中讀取包含所述指定類型的文件的目錄的信息,以及各目錄中所包含的所述指定類型的文件的數(shù)量信息; 根據(jù)所讀取到的信息,建立包含所述指定類型的文件的目錄的目錄樹,并在各目錄節(jié)點顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和; 當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,遍歷所述目錄樹上所顯示的被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。
2.如權(quán)利要求I所述的方法,其特征在于,所述對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫,具體包括 獲取當(dāng)前所述本地終端設(shè)備的磁盤中的所有目錄的信息; 根據(jù)所述所有目錄的信息,遍歷所述所有目錄,確定包含所述指定類型的文件的目錄; 分別在各包含所述指定類型的文件的目錄中,確定所包含的所述指定類型的文件的數(shù)量; 將所述包含所述指定類型的文件的目錄的信息,以及相應(yīng)的目錄中所包含的所述指定類型的文件的數(shù)量信息,存儲至數(shù)據(jù)庫。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述所有目錄的信息,遍歷所述所有目錄,確定包含所述指定類型的文件的目錄,具體為 根據(jù)所述所有目錄的信息,調(diào)用windows通用API,實現(xiàn)對所述所有目錄的遍歷操作,并根據(jù)遍歷結(jié)果,確定包含所述指定類型的文件的目錄。
4.如權(quán)利要求2所述的方法,其特征在于,所述將所述包含所述指定類型的文件的目錄的信息,以及相應(yīng)的目錄中所包含的所述指定類型的文件的數(shù)量信息,存儲至數(shù)據(jù)庫,具體包括 分別為各包含所述指定類型的文件的目錄生成目錄信息表,所述目錄信息表包含各目錄的目錄路徑和各目錄所包含的所述指定類型的文件的數(shù)量; 分別為各指定類型的文件生成文件信息表,所述文件信息表包含各指定類型的文件的存儲路徑和各指定類型的文件所歸屬的目錄路徑; 將所述目錄信息表和所述文件信息表存儲至所述數(shù)據(jù)庫。
5.如權(quán)利要求2所述的方法,其特征在于,所述對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫,具體包括 掃描根目錄下直接包括的對象,如果掃描到的對象為文件夾,則在所述根目錄下增加待掃描節(jié)點,如果掃描到的對象為指定類型的文件,則對所述根目錄所包括的指定類型的文件的計數(shù)結(jié)果加I處理,如果掃描到的對象為其他類型的文件,則放棄對所述對象進行處理; 繼續(xù)對所述根目錄下的各待掃描節(jié)點進行掃描,確定所述各待掃描節(jié)點下的待掃描節(jié)點和各待掃描節(jié)點所包括的指定類型的文件的計數(shù)結(jié)果; 繼續(xù)對所述各待掃描節(jié)點下的各待掃描節(jié)點進行掃描,直至沒有查詢到新的下級待掃描節(jié)點為止,完成全部掃描; 記錄掃描到的結(jié)果。
6.如權(quán)利要求I所述的方法,其特征在于,所述接收到進行指定類型的文件的管理操作指示,具體為 啟動指定類型的文件的管理操作進程的指示;和/或, 對當(dāng)前的指定類型的文件的管理操作進程進行更新的指示。
7.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)所讀取到的信息,建立包含所述指定類型的文件的目錄的目錄樹,并在各目錄節(jié)點顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和,具體為 根據(jù)所讀取到的包含所述指定類型的文件的目錄的信息,在內(nèi)存中建立包含所述指定類型的文件的目錄的目錄樹; 根據(jù)所讀取到的相應(yīng)的目錄中所包含的所述指定類型的文件的數(shù)量信息,確定所述目錄樹中的各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和; 在所述目錄樹的各目錄節(jié)點中顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和。
8.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)所讀取到的信息,建立包含所述指定類型的文件的目錄的目錄樹,具體包括 在包含所述指定類型的文件的目錄中,根據(jù)預(yù)設(shè)的過濾規(guī)則,確定不進行顯示的目錄,將所述不進行顯示的目錄和所述不進行顯示的目錄下所包含的全部下級目錄設(shè)置為隱藏目錄; 建立除所述隱藏目錄之外的其他包含所述指定類型的文件的目錄的目錄樹。
9.如權(quán)利要求8所述的方法,其特征在于,所述預(yù)設(shè)的過濾規(guī)則,具體包括 目錄樹的顯示規(guī)則;和/或, 對一個或多個包含所述指定類型的文件的目錄進行隱藏的指示。
10.如權(quán)利要求I所述的方法,其特征在于,當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,遍歷所述目錄樹上所顯示的被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件,具體包括 當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,獲取被選擇的目錄節(jié)點所對應(yīng)的目錄,以及所述目錄的全部下級目錄的路徑信息; 根據(jù)所述路徑信息,獲取所述指定類型的文件的信息; 根據(jù)所述指定類型的文件的信息,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。
11.如權(quán)利要求4或10所述的方法,其特征在于,當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,遍歷所述目錄樹上所顯示的被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件,具體包括 當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,根據(jù)所述目錄節(jié)點所對應(yīng)的目錄信息表中所記錄的目錄路徑,在所述數(shù)據(jù)庫中查詢包含所述目錄路徑的文件信息表; 根據(jù)查詢到的文件信息表中所記錄的存儲路徑,獲取所述指定類型的文件的信息;根據(jù)所述指定類型的文件的信息,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。
12.如權(quán)利要求I至10中任意一項所述的方法,其特征在于,所述指定類型的文件,具體為 通過文件擴展名信息限定的圖片、音頻文件、視頻文件和其他多媒體文件,以及文本文件。
13.一種文件管理裝置,其特征在于,包括 掃描模塊,用于對本地終端設(shè)備的磁盤進行掃描,確定指定類型的文件在各目錄中的分布情況,并存儲至數(shù)據(jù)庫; 獲取模塊,用于當(dāng)接收到進行指定類型的文件的管理操作指示時,在所述數(shù)據(jù)庫中讀取包含所述指定類型的文件的目錄的信息,以及各目錄中所包含的所述指定類型的文件的數(shù)量信息; 建立模塊,用于根據(jù)所述獲取模塊所讀取到的信息,建立包含所述指定類型的文件的目錄的目錄樹,并在各目錄節(jié)點顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和; 顯示模塊,用于當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,遍歷所述建立模塊所建立的所述目錄樹上所顯示的被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。
14.如權(quán)利要求13所述的裝置,其特征在于,所述掃描模塊,具體包括 獲取子模塊,用于獲取當(dāng)前所述本地終端設(shè)備的磁盤中的所有目錄的信息; 目錄確定子模塊,用于根據(jù)所述獲取子模塊所獲取到的所有目錄的信息,遍歷所述所有目錄,確定包含所述指定類型的文件的目錄; 數(shù)量確定子模塊,用于分別在所述目錄確定子模塊所確定的各包含所述指定類型的文件的目錄中,確定所包含的所述指定類型的文件的數(shù)量; 存儲子模塊,用于將所述目錄確定子模塊所確定的包含所述指定類型的文件的目錄的信息,以及所述數(shù)量確定子模塊確定的相應(yīng)的目錄中所包含的所述指定類型的文件的數(shù)量信息,存儲至數(shù)據(jù)庫。
15.如權(quán)利要求14所述的裝置,其特征在于,所述目錄確定子模塊,具體用于 根據(jù)所述所有目錄的信息,調(diào)用windows通用API,實現(xiàn)對所述所有目錄的遍歷操作,并根據(jù)遍歷結(jié)果,確定包含所述指定類型的文件的目錄。
16.如權(quán)利要求14所述的裝置,其特征在于,所述存儲子模塊,具體用于 分別為各包含所述指定類型的文件的目錄生成目錄信息表,所述目錄信息表包含各目錄的目錄路徑和各目錄所包含的所述指定類型的文件的數(shù)量; 分別為各指定類型的文件生成文件信息表,所述文件信息表包含各指定類型的文件的存儲路徑和各指定類型的文件所歸屬的目錄路徑; 將所述目錄信息表和所述文件信息表存儲至所述數(shù)據(jù)庫。
17.如權(quán)利要求13所述的裝置,其特征在于,所述建立模塊,具體用于 根據(jù)所讀取到的包含所述指定類型的文件的目錄的信息,在內(nèi)存中建立包含所述指定類型的文件的目錄的目錄樹; 根據(jù)所讀取到的相應(yīng)的目錄中所包含的所述指定類型的文件的數(shù)量信息,確定所述目錄樹中的各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和; 在所述目錄樹的各目錄節(jié)點中顯示所述目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件的數(shù)量和。
18.如權(quán)利要求13所述的裝置,其特征在于,所述建立模塊,具體用于 在包含所述指定類型的文件的目錄中,根據(jù)預(yù)設(shè)的過濾規(guī)則,確定不進行顯示的目錄,將所述不進行顯示的目錄和所述不進行顯示的目錄下所包含的全部下級目錄設(shè)置為隱藏目錄; 建立除所述隱藏目錄之外的其他包含所述指定類型的文件的目錄的目錄樹; 其中,所述預(yù)設(shè)的過濾規(guī)則,具體包括目錄樹的顯示規(guī)則,和/或?qū)σ粋€或多個包含所述指定類型的文件的目錄進行隱藏的指示。
19.如權(quán)利要求13所述的裝置,其特征在于,所述顯示模塊,具體用于 當(dāng)接收到所述目錄樹中的目錄節(jié)點的選擇指示時,獲取被選擇的目錄節(jié)點所對應(yīng)的目錄,以及所述目錄的全部下級目錄的路徑信息; 根據(jù)所述路徑信息,獲取所述指定類型的文件的信息; 根據(jù)所述指定類型的文件的信息,以通鋪列表的形式顯示所述被選擇的目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的所述指定類型的文件。
20.如權(quán)利要求13至19中任意一項所述的裝置,其特征在于,所述指定類型的文件,具體為 通過文件擴展名信息限定的圖片、音頻文件、視頻文件和其他多媒體文件,以及文本文件。
全文摘要
本發(fā)明實施例公開了一種文件管理方法和裝置,通過應(yīng)用本發(fā)明實施例的技術(shù)方案,可以以樹狀結(jié)構(gòu)進行指定類型文件的管理,并通過通鋪列表的形式進行目錄樹中各目錄節(jié)點所對應(yīng)的目錄及其全部下級目錄中所包含的文件的顯示,從而,實現(xiàn)在能夠準(zhǔn)確表現(xiàn)文件夾歸屬關(guān)系的樹狀結(jié)構(gòu)中進行直觀的文件管理操作,準(zhǔn)確的對文件位置和歸屬關(guān)系進行定位,使文件管理操作更加方便,文件定位更加準(zhǔn)確。
文檔編號G06F17/30GK102722487SQ20111007791
公開日2012年10月10日 申請日期2011年3月30日 優(yōu)先權(quán)日2011年3月30日
發(fā)明者傅斌, 劉元芳, 王建宇, 陳棟 申請人:騰訊科技(深圳)有限公司