欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

呈現(xiàn)文件的方法和文件呈現(xiàn)裝置制造方法

文檔序號:6623412閱讀:279來源:國知局
呈現(xiàn)文件的方法和文件呈現(xiàn)裝置制造方法
【專利摘要】本發(fā)明公開了一種呈現(xiàn)文件的方法和文件呈現(xiàn)裝置,包括:將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊;將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊;判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域;若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)。通過上述方式,本發(fā)明能夠在不對用戶體驗造成影響的前提下,有效地降低呈現(xiàn)大容量文本文件時對系統(tǒng)內(nèi)存資源的占用。
【專利說明】呈現(xiàn)文件的方法和文件呈現(xiàn)裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件處理領(lǐng)域,特別是涉及一種呈現(xiàn)文件的方法和文件呈現(xiàn)裝置。

【背景技術(shù)】
[0002]傳統(tǒng)的文本編輯器運行于操作系統(tǒng)之上,其在對文本文件進行編輯時,需要將文本文件的全部內(nèi)容載入內(nèi)存后再進行編輯。而當(dāng)文本文件的容量較大時,將文本文件的內(nèi)容全部載入內(nèi)存將占用大量的內(nèi)存資源,從而影響操作系統(tǒng)的運行。
[0003]為解決上述問題,如圖1所示,現(xiàn)有技術(shù)中,如Ubuntu系統(tǒng)自帶的文本編輯軟件Gedit使用的做法是:采樣將大容量的文本文件分批載入內(nèi)存的方法,該方法每隔一段時間載入一部分文本文件的內(nèi)容,并采用“即載即顯”的方式將已載入內(nèi)存的文本文件的內(nèi)容即時呈現(xiàn)給用戶。這種做法雖然能夠?qū)⒋笕萘康奈谋据d入時間化整為零,縮短用戶的等待時間。但是在累積一段時間后,仍會將文本文件的全部內(nèi)容載入內(nèi)存中,依然會占用大量的內(nèi)存資源。
[0004]現(xiàn)有技術(shù)中的其它的文件呈現(xiàn)系統(tǒng)也未對大容量文本文件進行有針對性的優(yōu)化,或者僅在大容量文本文件的載入時間上作出了部分優(yōu)化,并未從根本上杜絕進行文件呈現(xiàn)時可能發(fā)生的大量內(nèi)存占用。
[0005]而當(dāng)今電子設(shè)備日益朝小型化、輕量化發(fā)展,其自身配備的內(nèi)存容量往往比較有限,這就要求在進行文件呈現(xiàn)時必須能夠?qū)?nèi)存資源的占用量控制在合理的范圍內(nèi),以免影響電子設(shè)備的正常運行。


【發(fā)明內(nèi)容】

[0006]本發(fā)明解決的技術(shù)問題是,提供一種呈現(xiàn)文件的方法和文件呈現(xiàn)裝置,能夠在不對用戶體驗造成影響的前提下,有效地降低呈現(xiàn)大容量文件時對系統(tǒng)內(nèi)存資源的占用。
[0007]為解決上述技術(shù)問題,本發(fā)明提供了一種呈現(xiàn)文件的方法,包括:
[0008]將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊;
[0009]將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊;
[0010]判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域;
[0011]若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)。
[0012]其中,將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊的步驟具體為:
[0013]按照預(yù)定的文件塊大小將文件劃分為多個文件塊,其中后一文件塊的前1/N區(qū)域的文件內(nèi)容與前一文件塊的后1/N區(qū)域的文件內(nèi)容相同#為預(yù)定的常數(shù)。
[0014]其中,若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)的步驟包括:
[0015]若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的前1/M區(qū)域時,則將第一文件塊移出內(nèi)存并將前一文件塊載入內(nèi)存并呈現(xiàn);
[0016]若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的后1/L區(qū)域時,則將第一文件塊移出內(nèi)存并將后一文件塊載入內(nèi)存并呈現(xiàn);
[0017]其中1/N大于或等于1/M+1/L。
[0018]其中,判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域包括:
[0019]判斷用戶輸入的光標(biāo)位置是否位于第一文件塊的預(yù)定區(qū)域。
[0020]其中,文件為可編輯的文件;
[0021]若光標(biāo)位置位于第一文件塊的預(yù)定區(qū)域,在將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)之前,該方法進一步包括:
[0022]判斷第一文件塊的文件內(nèi)容是否發(fā)生改變;
[0023]若第一文件塊的文件內(nèi)容發(fā)生改變,則提示用戶是否保存第一文件塊發(fā)生改變的文件內(nèi)容;
[0024]接收用戶輸入的指示保存或指示放棄保存的指令;
[0025]并根據(jù)用戶輸入的指示保存的指令對第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)第一文件塊的原始內(nèi)容。
[0026]其中,對第一文件塊發(fā)生改變的文件內(nèi)容進行保存的步驟具體為:
[0027]在待呈現(xiàn)的文件的同目錄下創(chuàng)建一個空白的臨時文件;
[0028]將待呈現(xiàn)的文件從文件開頭到第一文件塊在待呈現(xiàn)的文件中的起始位置之間的未載入內(nèi)存的第一文本內(nèi)容寫入臨時文件;
[0029]將第一文件塊發(fā)生改變的文件內(nèi)容寫入臨時文件,以使第一文件塊發(fā)生改變的文件內(nèi)容與第一文本內(nèi)容在臨時文件中依次銜接;
[0030]將待呈現(xiàn)的文件從第一文件塊在待呈現(xiàn)的文件中的結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容寫入臨時文件,以使第二文本內(nèi)容與第一文件塊發(fā)生改變的文件內(nèi)容在臨時文件中依次銜接;
[0031]記錄待呈現(xiàn)的文件的文件名后刪除待呈現(xiàn)的文件;
[0032]以所述待呈現(xiàn)的文件的文件名命名臨時文件。
[0033]為解決上述技術(shù)問題,本發(fā)明還提供了一種文件呈現(xiàn)裝置,包括:
[0034]劃分模塊,用于將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊;
[0035]呈現(xiàn)模塊,用于將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊;
[0036]第一判斷模塊,用于判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域;
[0037]切換模塊,用于若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)。
[0038]其中,劃分模塊用于按照預(yù)定的文件塊大小將文件劃分為多個文件塊,其中后一文件塊的前1/N區(qū)域的文件內(nèi)容與前一文件塊的后1/N區(qū)域的文件內(nèi)容相同;N為預(yù)定的常數(shù)。
[0039]其中,切換模塊用于:
[0040]若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的前1/M區(qū)域時,則將第一文件塊移出內(nèi)存并將前一文件塊載入內(nèi)存并呈現(xiàn);
[0041]若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的后1/L區(qū)域時,則將第一文件塊移出內(nèi)存并將后一文件塊載入內(nèi)存并呈現(xiàn);
[0042]其中1/N大于或等于1/M+1/L。
[0043]其中,第一判斷模塊用于判斷用戶輸入的光標(biāo)位置是否位于第一文件塊的預(yù)定區(qū)域。
[0044]其中,文件為可編輯的文件;文件呈現(xiàn)裝置進一步包括:
[0045]第二判斷模塊,用于若光標(biāo)位置位于第一文件塊的預(yù)定區(qū)域,在將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)之前,判斷第一文件塊的文件內(nèi)容是否發(fā)生改變;
[0046]保存模塊,用于若第一文件塊的文件內(nèi)容發(fā)生改變,則
[0047]提示用戶是否保存第一文件塊發(fā)生改變的文件內(nèi)容;
[0048]接收用戶輸入的指示保存或指示放棄保存的指令;
[0049]并根據(jù)用戶輸入的指示保存的指令對第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)第一文件塊的原始內(nèi)容。
[0050]其中,保存模塊用于:
[0051]在待呈現(xiàn)的文件的同目錄下創(chuàng)建一個空白的臨時文件;
[0052]將待呈現(xiàn)的文件從文件開頭到第一文件塊在待呈現(xiàn)的文件中的起始位置之間的未載入內(nèi)存的第一文本內(nèi)容寫入臨時文件;
[0053]將第一文件塊發(fā)生改變的文件內(nèi)容寫入臨時文件,以使第一文件塊發(fā)生改變的文件內(nèi)容與第一文本內(nèi)容在臨時文件中依次銜接;
[0054]將待呈現(xiàn)的文件從第一文件塊在待呈現(xiàn)的文件中的結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容寫入臨時文件,以使第二文本內(nèi)容與第一文件塊發(fā)生改變的文件內(nèi)容在臨時文件中依次銜接;
[0055]記錄待呈現(xiàn)的文件的文件名后刪除待呈現(xiàn)的文件;
[0056]以待呈現(xiàn)的文件的文件名命名臨時文件。
[0057]通過上述方案,本發(fā)明的有益效果是:通過將待呈現(xiàn)的文件劃分為多個文件塊,并且只載入并呈現(xiàn)其中的一個文件塊,能夠有效地降低呈現(xiàn)大容量文件時對系統(tǒng)內(nèi)存資源的占用,并且由于相鄰的文件塊存在部分重疊,可實現(xiàn)相鄰文件塊的平滑切換,提升用戶體驗。

【專利附圖】

【附圖說明】
[0058]圖1是現(xiàn)有技術(shù)中的呈現(xiàn)文件的方法示意圖;
[0059]圖2是本發(fā)明第一實施例的呈現(xiàn)文件的方法的流程示意圖;
[0060]圖3是本發(fā)明第一實施例中的文件劃分的示意圖;
[0061]圖4是本發(fā)明第一實施例中的文件塊載入內(nèi)存的示意圖;
[0062]圖5是本發(fā)明第一實施例中的文件塊切換的示意圖;
[0063]圖6是本發(fā)明第一實施例中的文件保存的流程示意圖;
[0064]圖7是本發(fā)明第一實施例的文件呈現(xiàn)裝置的結(jié)構(gòu)示意圖。

【具體實施方式】
[0065]請參閱圖2是本發(fā)明第一實施例的呈現(xiàn)文件的方法流程示意圖。如圖2所示,第一實施例的呈現(xiàn)文件的方法包括:
[0066]SlO:將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊。
[0067]在SlO中,可以將待呈現(xiàn)的文件劃分為容量相同的多個文件塊,也可以是容量不相同的文件塊,其中,容量相同是指所劃分的多個文件塊所占的文件區(qū)域大小相同,也即按照容量相同將文件劃分為區(qū)域大小一致的多個文件塊。
[0068]Sll:將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊。
[0069]其中,本實施例中可以一次只載入一個文件塊到內(nèi)存中,并呈現(xiàn)給用戶。在將一個文件塊載入內(nèi)存前,需要先將已載入內(nèi)存、正呈現(xiàn)給用戶的文件塊移出內(nèi)存。
[0070]S12:判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域。
[0071]第一文件塊可以有多個預(yù)定區(qū)域,當(dāng)前呈現(xiàn)的顯示區(qū)域位于不同的預(yù)定區(qū)域時執(zhí)行不同的操作。
[0072]S13:若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)。
[0073]在S13中,根據(jù)不同的預(yù)定區(qū)域,可以將與第一文件塊相鄰的位于第一文件之前的文件塊載入內(nèi)存并呈現(xiàn),也可以將與第一文件塊相鄰的位于第一文件之前的文件塊載入內(nèi)存并呈現(xiàn)。如此可以在待呈現(xiàn)的文件容量太大時,能夠在不對用戶體驗造成影響的前提下,有效地降低呈現(xiàn)大容量文件時對系統(tǒng)內(nèi)存資源的占用。
[0074]在更具體的實施例中,在SlO中,可以按照預(yù)定的文件塊大小將文件劃分為多個文件塊,其中后一文件塊的前1/N區(qū)域的文件內(nèi)容與前一文件塊的后1/N區(qū)域的文件內(nèi)容相同#為預(yù)定的常數(shù)。相鄰的文件塊的內(nèi)容重疊部分的大小可以根據(jù)需要調(diào)整,但不宜過大,即預(yù)定的常數(shù)N不宜過小,以免待呈現(xiàn)的文件劃分為多個文本塊的效率過低。例如,后一文件塊的前2/3區(qū)域的文件內(nèi)容與前一文件塊的后2/3區(qū)域的文件內(nèi)容相同,以保證在文件塊與文件塊之間進行切換時能夠?qū)崿F(xiàn)平滑過渡。具體地,在劃分一個新的文件塊時,只需保持前一個文件塊的區(qū)域大小不變,向后平移1/3區(qū)域面積即可得到新文件塊的文件區(qū)域。如圖3所示,保持文件區(qū)域大小不變,依圖中粗箭頭的方向在文件塊η的基礎(chǔ)上向后平移1/3區(qū)域,即得到文件塊η+1。文件塊η和文件塊η+1有2/3區(qū)域重疊,具體為,文件塊η的后2/3區(qū)域與文件塊η+1的前2/3區(qū)域的文件內(nèi)容相同。如此由于相鄰的文件塊存在部分重疊,可實現(xiàn)相鄰文件塊的平滑切換,提升用戶體驗。
[0075]在Sll中,一次只載入一個文件塊到內(nèi)存中,并呈現(xiàn)給用戶。在將一個文件塊載入內(nèi)存前,需要先將已載入內(nèi)存、正呈現(xiàn)給用戶的文件塊移出內(nèi)存。如圖4所示,待呈現(xiàn)的文件劃分為η個區(qū)域大小相同的文件塊,η為正整數(shù)。要將文件塊2載入內(nèi)存并呈現(xiàn)給用戶時,需要先將原來已載入內(nèi)存的文件塊I移出內(nèi)存。
[0076]若文件為可編輯的文件,則當(dāng)前呈現(xiàn)的顯示區(qū)域可以是用戶輸入的光標(biāo)位置。即在S12中,判斷用戶輸入的光標(biāo)位置是否位于第一文件塊的預(yù)定區(qū)域。其中,用戶輸入的光標(biāo)位置即表示用戶執(zhí)行觸摸屏或按鍵操作的位置,而按鍵操作可以包括進行文件編輯的相關(guān)按鍵,如按上下左右的方向鍵,以及按pageup或pagedown的按鍵等。當(dāng)用戶對已載入內(nèi)存的文件塊進行按鍵操作或觸摸屏操作時,會在接收到按鍵鍵值的同時檢測光標(biāo)當(dāng)前位置。
[0077]每個文件塊預(yù)先劃分為不同的區(qū)域范圍,待呈現(xiàn)的文件塊的預(yù)定區(qū)域指的是針對已載入內(nèi)存的文件塊劃分的不同區(qū)域范圍中相對比較靠近相鄰文件塊的某一區(qū)域范圍。預(yù)定區(qū)域的大小可以根據(jù)需要設(shè)置,在本實施例中,若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的前1/M區(qū)域時,則將第一文件塊移出內(nèi)存并將前一文件塊載入內(nèi)存并呈現(xiàn);若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的后1/L區(qū)域時,則將第一文件塊移出內(nèi)存并將后一文件塊載入內(nèi)存并呈現(xiàn)。第一文件塊的前1/M區(qū)域和第一文件塊的后1/L區(qū)域都是第一文件塊的預(yù)定區(qū)域,其中1/N大于或等于1/M+1/L。具體地,如果定義區(qū)域A為將待呈現(xiàn)的文件塊切換至前一文件塊的預(yù)定區(qū)域,區(qū)域B為將待呈現(xiàn)的文件塊切換至后一文件塊的預(yù)定區(qū)域,區(qū)域C為相鄰文件塊的重疊區(qū)域,區(qū)域S為單次導(dǎo)致光標(biāo)可移動的最大范圍。則區(qū)域A、區(qū)域B均應(yīng)大于或等于區(qū)域S,以免由于光標(biāo)移動范圍超出當(dāng)前文件塊容納范圍,而導(dǎo)致切換文件塊后出現(xiàn)文件光標(biāo)定位失準的問題;但區(qū)域A、區(qū)域B的范圍不宜過大,以免因不會觸發(fā)切換文件塊的區(qū)域太小,而陷入需要頻繁切換文件塊的窘境。區(qū)域C需大于或等于區(qū)域A+區(qū)域B,以免在切換至新的文件塊后會出現(xiàn)光標(biāo)位于新文件塊的A區(qū)域或B區(qū)域內(nèi)的情況;但區(qū)域C也不宜過大,否則易造成文件塊劃分效率過低。具體地,例如若將待呈現(xiàn)的文件塊的整個區(qū)域設(shè)定為1,則區(qū)域A、區(qū)域B可以取如下值:1/10、1/8、1/6、1/4、1/3等,相對應(yīng)的區(qū)域C則取為1/5、1/4、1/3、1/2、2/3等,只需滿足區(qū)域A、區(qū)域B均大于或等于區(qū)域S,以及區(qū)域C大于或等于區(qū)域A+區(qū)域B即可??梢娫诒緦嵤├校A(yù)定區(qū)域與單次按鍵導(dǎo)致光標(biāo)可移動的最大范圍相關(guān),而單次按鍵導(dǎo)致光標(biāo)可移動的最大范圍根據(jù)按鍵類型的不同而有所不同。一般來說,由于按鍵PageUp、PageDown移動范圍較大,如一次可移動十幾行,單次按鍵導(dǎo)致光標(biāo)可移動的最大范圍的大小往往由按鍵PageUp、PageDown單次可移動光標(biāo)的范圍決定。例如,在顯示滾動條的情況下每頁可顯示15行代碼,由于按鍵PageUp、PageDown單次將光標(biāo)移動一頁的范圍,此時可將S定為大致15行代碼的區(qū)域。
[0078]舉例來說,在本發(fā)明實施例中,優(yōu)選地,一個文件塊可以劃分為三部分:前1/3區(qū)域、中間1/3區(qū)域以及后1/3區(qū)域,預(yù)定區(qū)域是指待呈現(xiàn)的文件塊的前1/3區(qū)域或后1/3區(qū)域(即此時M = L = 3)。若光標(biāo)位于待呈現(xiàn)的文件塊的前1/3區(qū)域時,則將待呈現(xiàn)的文件塊移出內(nèi)存并將前一文件塊載入內(nèi)存并呈現(xiàn)給用戶;若光標(biāo)位于待編輯的文件塊的后1/3區(qū)域時,則將待呈現(xiàn)的文件塊移出內(nèi)存并將后一文件塊載入內(nèi)存并呈現(xiàn)給用戶。若文件為可編輯的文件,如圖5所示,X表示光標(biāo),當(dāng)前文件塊即為已載入內(nèi)存的待呈現(xiàn)的文件塊。用戶進行按鍵操作,即對當(dāng)前文件塊進行編輯時,如果光標(biāo)X位于當(dāng)前文件塊的前1/3區(qū)域時,則將當(dāng)前文件塊移出內(nèi)存,并將前一文件塊載入內(nèi)存并呈現(xiàn)給用戶;如果光標(biāo)X位于當(dāng)前文件塊的后1/3區(qū)域時,則將當(dāng)前文件塊移出內(nèi)存,并將后一文件塊載入內(nèi)存并呈現(xiàn)給用戶。在切換文件塊之前,記錄光標(biāo)X的當(dāng)前位置及文件塊切換所導(dǎo)致的光標(biāo)X的偏移量;在文件塊切換完成后,依據(jù)此前記錄的光標(biāo)X的位置及光標(biāo)X的偏移量恢復(fù)光標(biāo)X在文件中的位置,以使得切換前后光標(biāo)在整個文件中所處的位置保持不變。這樣在用戶看來,文件塊切換前后光標(biāo)位置并沒有發(fā)生任何改變,從而確保用戶在從當(dāng)前文件塊切換至前一文件塊或后一文件塊時能夠獲得與一次性將文件全文載入內(nèi)存的方案完全相同的用戶體驗。
[0079]在S12中,若光標(biāo)位置位于第一文件塊的預(yù)定區(qū)域,在將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)之前,判斷第一文件塊的文件內(nèi)容是否發(fā)生改變。若第一文件塊的文件內(nèi)容發(fā)生改變,則提示用戶是否保存第一文件塊發(fā)生改變的文件內(nèi)容。接收用戶輸入的指示保存或指示放棄保存的指令;并根據(jù)用戶輸入的指示保存的指令對第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)第一文件塊的原始內(nèi)容。
[0080]在本發(fā)明實施例中,用戶對當(dāng)前文件所作的一切修改都是針對當(dāng)前已載入內(nèi)存的待呈現(xiàn)的文件塊進行的,因此只需用當(dāng)前已載入內(nèi)存的待呈現(xiàn)的文件塊的文件內(nèi)容覆蓋掉原文件對應(yīng)區(qū)域的文件內(nèi)容即可完成對文件全文的保存。這就要求必須保證已載入內(nèi)存的待呈現(xiàn)的文件塊在被修改后與尚未載入內(nèi)存的文件部分在進行拼接時不能發(fā)生任何錯位,否則會導(dǎo)致文件信息的丟失。因此需要在保存文件時能夠準確定位當(dāng)前載入內(nèi)存的文件塊在原文件中所對應(yīng)區(qū)域的邊界。
[0081]當(dāng)將待呈現(xiàn)的文件塊載入內(nèi)存時,會記錄待呈現(xiàn)的文件塊的起始位置(StartPosit1n)和結(jié)束位置(Stop Posit1n)。如圖5所示,當(dāng)前文件塊即為已載入內(nèi)存的待呈現(xiàn)的文件塊。起始位置為當(dāng)前文件塊起點在文件全文中所處的位置,即文件指針從文件開頭移動到當(dāng)前文件塊起點所產(chǎn)生的偏移量。結(jié)束位置為當(dāng)前文件塊終點在文件全文中所處的位置,即文件指針從文件開頭移動到當(dāng)前文件塊終點所產(chǎn)生的偏移量。在保存文件時,通過調(diào)用此前記錄的起始位置和結(jié)束位置,對當(dāng)前文件塊在原文件中對應(yīng)區(qū)域的邊界進行準確定位,再以當(dāng)前文件塊的文件內(nèi)容覆蓋掉原文件中對應(yīng)區(qū)域的文件內(nèi)容,即可完成對大容量文件的保存。
[0082]在本發(fā)明實施例中,如圖6所示,對第一文件塊發(fā)生改變的文件內(nèi)容進行保存包括:
[0083]S140:在待呈現(xiàn)的文件的同目錄下創(chuàng)建一個空白的臨時文件。
[0084]S141:將待呈現(xiàn)的文件從文件開頭到第一文件塊在待呈現(xiàn)的文件中的起始位置之間的未載入內(nèi)存的第一文本內(nèi)容寫入臨時文件。
[0085]S142:將第一文件塊發(fā)生改變的文件內(nèi)容寫入臨時文件,以使第一文件塊發(fā)生改變的文件內(nèi)容與第一文本內(nèi)容在臨時文件中依次銜接。
[0086]S143:將待呈現(xiàn)的文件從第一文件塊在待呈現(xiàn)的文件中的結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容寫入臨時文件,以使第二文本內(nèi)容與第一文件塊發(fā)生改變的文本內(nèi)容在臨時文件中依次銜接。
[0087]例如,若第一文件塊發(fā)生改變的文件內(nèi)容被全部刪除,則保存時意味著第一文件塊發(fā)生改變的文本內(nèi)容為空,文件從文件開頭到起始位置之間的未載入內(nèi)存的第一文本內(nèi)容會與文件從結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容直接銜接在一起,保存完畢后起始位置與結(jié)束位置會重合為一個點。
[0088]S144:記錄待呈現(xiàn)的文件的文件名后刪除待呈現(xiàn)的文件。
[0089]S145:以上述待呈現(xiàn)的文件的文件名命名臨時文件。
[0090]至此,完成對大容量文件的保存操作。這就使得已載入內(nèi)存的待呈現(xiàn)的文件塊在被修改后與尚未載入內(nèi)存的文件部分在進行拼接時不會發(fā)生任何錯位,也不會造成文本信息的丟失。
[0091]在本發(fā)明實施例中,通過將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊;將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊;判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域;若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn),能夠在不對用戶體驗造成影響的前提下,有效地降低呈現(xiàn)大容量文本文件時對系統(tǒng)內(nèi)存資源的占用。
[0092]請參閱圖7,圖7是本發(fā)明第一實施例的文件呈現(xiàn)裝置的結(jié)構(gòu)示意圖。如圖7所示,文件呈現(xiàn)裝置10包括劃分模塊11、呈現(xiàn)模塊12、第一判斷模塊13、切換模塊14、第二判斷模塊15以及保存模塊16。
[0093]在本發(fā)明實施例中,劃分模塊11用于將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊。呈現(xiàn)模塊12與劃分模塊11連接,用于將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊。第一判斷模塊13與呈現(xiàn)模塊12連接,用于判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域。切換模塊14與第一判斷模塊13連接,用于若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)。第二判斷模塊15與切換模塊14連接,用于若光標(biāo)位置位于第一文件塊的預(yù)定區(qū)域,在將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)之前,判斷第一文件塊的文件內(nèi)容是否發(fā)生改變。保存模塊16與第二判斷模塊15連接,用于若第一文件塊的文件內(nèi)容發(fā)生改變,則:提示用戶是否保存第一文件塊發(fā)生改變的文件內(nèi)容;接收用戶輸入的指示保存或指示放棄保存的指令,并根據(jù)用戶輸入的指示保存的指令對第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)第一文件塊的原始內(nèi)容。
[0094]舉例來說,在本發(fā)明實施例中,劃分模塊11可以將待呈現(xiàn)的文件劃分為容量相同的多個文件塊,也可以是容量不相同的文件塊。其中,容量相同是指所劃分的多個文件塊所占的文件區(qū)域大小相同,也即按照容量相同將文件劃分為區(qū)域大小一致的多個文件塊。
[0095]舉例來說,劃分模塊11也按照預(yù)定的文件塊大小將文件劃分為多個文件塊,其中后一文件塊的前1/N區(qū)域的文件內(nèi)容與前一文件塊的后1/N區(qū)域的文件內(nèi)容相同;N為預(yù)定的常數(shù)。劃分模塊I將文件劃分為多個文件塊,相鄰的文件塊的內(nèi)容重疊部分的大小可以根據(jù)需要調(diào)整,但不宜過大,以免文件劃分為多個文件塊的效率過低。優(yōu)選地,N可以為3/2,則后一文件塊的前2/3區(qū)域的文件內(nèi)容與前一文件塊的后2/3區(qū)域的文件內(nèi)容相同。具體地,在劃分一個新的文件塊時,只需保持前一個文件塊的文本區(qū)域大小不變,向后平移1/3區(qū)域面積即可得到新文件塊的文件區(qū)域。如此由于相鄰的文件塊存在部分重疊,可實現(xiàn)相鄰文件塊的平滑切換,提升用戶體驗。
[0096]在本發(fā)明實施例中,若文件為可編輯的文件,則當(dāng)前呈現(xiàn)的顯示區(qū)域可以是用戶輸入的光標(biāo)位置。第一判斷模塊13用于判斷用戶輸入的光標(biāo)位置是否位于第一文件塊的預(yù)定區(qū)域。其中,用戶輸入的光標(biāo)位置即表示用戶執(zhí)行觸摸屏或按鍵操作的位置,而按鍵操作可以包括進行文件編輯的相關(guān)按鍵,如按上下左右的方向鍵,以及按pageup或pagedown的按鍵等。當(dāng)用戶對已載入內(nèi)存的文件塊進行按鍵操作或觸摸屏操作時,會在接收到按鍵鍵值的同時檢測光標(biāo)當(dāng)前位置。預(yù)定區(qū)域的大小可以根據(jù)需要設(shè)置,在本實施例中,若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的前1/M區(qū)域時,則將第一文件塊移出內(nèi)存并將前一文件塊載入內(nèi)存并呈現(xiàn);若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的后1/L區(qū)域時,則將第一文件塊移出內(nèi)存并將后一文件塊載入內(nèi)存并呈現(xiàn)。第一文件塊的前1/M區(qū)域和第一文件塊的后1/L區(qū)域都是第一文件塊的預(yù)定區(qū)域,其中1/N大于或等于1/M+1/L。具體地,如果定義區(qū)域A為將待編輯的文件塊切換至前一文件塊的預(yù)定區(qū)域,區(qū)域B為將待編輯的文件塊切換至后一文件塊的預(yù)定區(qū)域,區(qū)域C為相鄰文件塊的重疊區(qū)域,區(qū)域S為單次導(dǎo)致光標(biāo)可移動的最大范圍。則區(qū)域A、區(qū)域B均應(yīng)大于或等于區(qū)域S,以免由于光標(biāo)移動范圍超出當(dāng)前文件塊容納范圍,而導(dǎo)致切換文件塊后出現(xiàn)文件光標(biāo)定位失準的問題;但區(qū)域A、區(qū)域B的范圍不宜過大,以免因不會觸發(fā)切換文件塊的區(qū)域太小,而陷入需要頻繁切換文件塊的窘境。區(qū)域C需大于或等于區(qū)域A+區(qū)域B,以免在切換至新的文件塊后會出現(xiàn)光標(biāo)位于新文件塊的A區(qū)域或B區(qū)域內(nèi)的情況;但區(qū)域C也不宜過大,否則易造成文件塊劃分效率過低。具體地,例如若將待編輯的文件塊的整個區(qū)域設(shè)定為1,則區(qū)域A、區(qū)域B可以取如下值:1/10、1/8、1/6、1/4、1/3等,相對應(yīng)的區(qū)域C則取為1/5、1/4、1/3、1/2、2/3等,只需滿足區(qū)域A、區(qū)域B均大于或等于區(qū)域S,以及區(qū)域C大于或等于區(qū)域A+區(qū)域B即可。可見在本實施例中,預(yù)定區(qū)域與單次按鍵導(dǎo)致光標(biāo)可移動的最大范圍相關(guān),而單次按鍵導(dǎo)致光標(biāo)可移動的最大范圍根據(jù)按鍵類型的不同而有所不同。一般來說,由于按鍵PageUp、PageDown移動范圍較大,如一次可移動十幾行,單次按鍵導(dǎo)致光標(biāo)可移動的最大范圍的大小往往由按鍵PageUp、PageDown單次可移動光標(biāo)的范圍決定。例如,在顯示滾動條的情況下每頁可顯示15行代碼,由于按鍵PageUp、PageDown單次將光標(biāo)移動一頁的范圍,此時可將S定為大致15行代碼的區(qū)域。
[0097]舉例來說,在本發(fā)明實施例中,優(yōu)選地,一個文件塊可以劃分為三部分:前1/3區(qū)域、中間1/3區(qū)域以及后1/3區(qū)域,預(yù)定區(qū)域是指待呈現(xiàn)的文件塊的前1/3區(qū)域或后1/3區(qū)域(此時M = L = 3)。若光標(biāo)位于待呈現(xiàn)的文件塊的前1/3區(qū)域時,則將待呈現(xiàn)的文件塊移出內(nèi)存并將前一文件塊載入內(nèi)存并呈現(xiàn)給用戶;若光標(biāo)位于待呈現(xiàn)的文件塊的后1/3區(qū)域時,則將待呈現(xiàn)的文件塊移出內(nèi)存并將后一文件塊載入內(nèi)存并呈現(xiàn)給用戶。
[0098]若文件為可編輯的文件,若光標(biāo)位置位于第一文件塊的預(yù)定區(qū)域,在將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn)之前,第二判斷模塊15判斷第一文件塊的文件內(nèi)容是否發(fā)生改變。若第一文件塊的文件內(nèi)容發(fā)生改變,則保存模塊16提示用戶是否保存第一文件塊發(fā)生改變的文件內(nèi)容;接收用戶輸入的指示保存或指示放棄保存的指令;并根據(jù)用戶輸入的指示保存的指令對第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)第一文件塊的原始內(nèi)容。
[0099]在本發(fā)明實施例中,用戶對當(dāng)前文件所作的一切修改都是針對當(dāng)前已載入內(nèi)存的待呈現(xiàn)的文件塊進行的,因此只需用當(dāng)前已載入內(nèi)存的待呈現(xiàn)的文件塊的文件內(nèi)容覆蓋掉原文件對應(yīng)區(qū)域的文件內(nèi)容即可完成對文件全文的保存。這就要求必須保證已載入內(nèi)存的待呈現(xiàn)的文件塊在被修改后與尚未載入內(nèi)存的文件部分在進行拼接時不能發(fā)生任何錯位,否則會導(dǎo)致文件信息的丟失。因此需要在保存文件時能夠準確定位當(dāng)前載入內(nèi)存的文件塊在原文件中所對應(yīng)區(qū)域的邊界。當(dāng)將待呈現(xiàn)的文件塊載入內(nèi)存時,保存模塊16會記錄待呈現(xiàn)的文件塊的起始位置(Start Posit1n)和結(jié)束位置(Stop Posit1n)。起始位置為當(dāng)前文件塊起點在文件全文中所處的位置,即文件指針從文件開頭移動到當(dāng)前文件塊起點所產(chǎn)生的偏移量。結(jié)束位置為當(dāng)前文件塊終點在文件全文中所處的位置,即文件指針從文件開頭移動到當(dāng)前文件塊終點所產(chǎn)生的偏移量。在保存文件時,通過調(diào)用此前記錄的起始位置和結(jié)束位置,對當(dāng)前文件塊在原文件中對應(yīng)區(qū)域的邊界進行準確定位,再以當(dāng)前文件塊的文件內(nèi)容覆蓋掉原文件中對應(yīng)區(qū)域的文件內(nèi)容,即可完成對大容量文件的保存。這樣在用戶看來,文件塊切換前后光標(biāo)位置并沒有發(fā)生任何改變,從而確保用戶在從當(dāng)前文件塊切換至前一文件塊或后一文件塊時能夠獲得與一次性將文件全文載入內(nèi)存的方案完全相同的用戶體驗。
[0100]保存模塊16對第一文件塊發(fā)生改變的文件內(nèi)容進行保存時,在待呈現(xiàn)的文件的同目錄下創(chuàng)建一個空白的臨時文件;將待呈現(xiàn)的文件從文件開頭到第一文件塊在待呈現(xiàn)的文件中的起始位置之間的未載入內(nèi)存的第一文本內(nèi)容寫入臨時文件;將第一文件塊發(fā)生改變的文件內(nèi)容寫入臨時文件,以使第一文件塊發(fā)生改變的文件內(nèi)容與第一文本內(nèi)容在臨時文件中依次銜接;將待呈現(xiàn)的文件從第一文件塊在待呈現(xiàn)的文件中的結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容寫入臨時文件,以使第二文本內(nèi)容與第一文件塊發(fā)生改變的文件內(nèi)容在臨時文件中依次銜接;記錄待呈現(xiàn)的文件的文件名后刪除待呈現(xiàn)的文件;以待呈現(xiàn)的文件的文件名命名臨時文件。至此,保存模塊16完成對大容量文件的保存操作,這就使得已載入內(nèi)存的待呈現(xiàn)的文件塊在被修改后與尚未載入內(nèi)存的文件部分在進行拼接時不會發(fā)生任何錯位,也不會造成文本信息的丟失。
[0101]保存模塊16完成對第一文件塊發(fā)生改變的的文件內(nèi)容進行保存的操作后,呈現(xiàn)模塊12執(zhí)行將待呈現(xiàn)的文本塊移出內(nèi)存并將與之相鄰的文本塊載入內(nèi)存的操作,以進行后續(xù)的文本編輯操作。
[0102]綜上所述,通過將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊;將第一文件塊載入內(nèi)存中,并呈現(xiàn)第一文件塊,第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊;判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于第一文件塊的預(yù)定區(qū)域;若當(dāng)前呈現(xiàn)的顯示區(qū)域位于第一文件塊的預(yù)定區(qū)域,則將第一文件塊移出內(nèi)存并將與第一文件塊相鄰的文件塊載入內(nèi)存并呈現(xiàn),能夠在不對用戶體驗造成影響的前提下,有效地降低呈現(xiàn)大容量文本文件時對系統(tǒng)內(nèi)存資源的占用。
[0103]以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【權(quán)利要求】
1.一種呈現(xiàn)文件的方法,其特征在于,所述方法包括: 將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊; 將第一文件塊載入內(nèi)存中,并呈現(xiàn)所述第一文件塊,所述第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊; 判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于所述第一文件塊的預(yù)定區(qū)域; 若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的預(yù)定區(qū)域,則將所述第一文件塊移出所述內(nèi)存并將與所述第一文件塊相鄰的文件塊載入所述內(nèi)存并呈現(xiàn)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重疊的步驟具體為: 按照預(yù)定的文件塊大小將所述文件劃分為多個文件塊,其中后一文件塊的前1/N區(qū)域的文件內(nèi)容與前一文件塊的后1/N區(qū)域的文件內(nèi)容相同#為預(yù)定的常數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的預(yù)定區(qū)域,則將所述第一文件塊移出所述內(nèi)存并將與所述第一文件塊相鄰的文件塊載入所述內(nèi)存并呈現(xiàn)的步驟包括: 若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的前1/M區(qū)域時,則將所述第一文件塊移出所述內(nèi)存并將前一文件塊載入所述內(nèi)存并呈現(xiàn); 若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的后1/L區(qū)域時,則將所述第一文件塊移出所述內(nèi)存并將后一文件塊載入所述內(nèi)存并呈現(xiàn); 其中1/N大于或等于1/M+1/L。
4.根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在于,所述判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于所述第一文件塊的預(yù)定區(qū)域包括: 判斷用戶輸入的光標(biāo)位置是否位于所述第一文件塊的預(yù)定區(qū)域。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述文件為可編輯的文件; 若所述光標(biāo)位置位于所述第一文件塊的預(yù)定區(qū)域,在所述將所述第一文件塊移出所述內(nèi)存并將與所述第一文件塊相鄰的文件塊載入所述內(nèi)存并呈現(xiàn)之前,所述方法進一步包括: 判斷所述第一文件塊的文件內(nèi)容是否發(fā)生改變; 若所述第一文件塊的文件內(nèi)容發(fā)生改變,則提示用戶是否保存所述第一文件塊發(fā)生改變的文件內(nèi)容; 接收用戶輸入的指示保存或指示放棄保存的指令; 并根據(jù)用戶輸入的指示保存的指令對所述第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)所述第一文件塊的原始內(nèi)容。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述對所述第一文件塊發(fā)生改變的文件內(nèi)容進行保存的步驟具體為: 在所述待呈現(xiàn)的文件的同目錄下創(chuàng)建一個空白的臨時文件; 將所述待呈現(xiàn)的文件從文件開頭到所述第一文件塊在所述待呈現(xiàn)的文件中的起始位置之間的未載入內(nèi)存的第一文本內(nèi)容寫入所述臨時文件; 將所述第一文件塊發(fā)生改變的文件內(nèi)容寫入所述臨時文件,以使所述第一文件塊發(fā)生改變的文件內(nèi)容與所述第一文本內(nèi)容在所述臨時文件中依次銜接; 將所述待呈現(xiàn)的文件從所述第一文件塊在所述待呈現(xiàn)的文件中的結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容寫入所述臨時文件,以使所述第二文本內(nèi)容與所述第一文件塊發(fā)生改變的文件內(nèi)容在所述臨時文件中依次銜接; 記錄所述待呈現(xiàn)的文件的文件名后刪除所述待呈現(xiàn)的文件; 以所述待呈現(xiàn)的文件的文件名命名所述臨時文件。
7.一種文件呈現(xiàn)裝置,其特征在于,所述文件呈現(xiàn)裝置包括: 劃分模塊,用于將待呈現(xiàn)的文件劃分為多個文件塊,其中相鄰的文件塊的內(nèi)容部分重置; 呈現(xiàn)模塊,用于將第一文件塊載入內(nèi)存中,并呈現(xiàn)所述第一文件塊,所述第一文件塊為當(dāng)前需要呈現(xiàn)的文件塊; 第一判斷模塊,用于判斷當(dāng)前呈現(xiàn)的顯示區(qū)域是否位于所述第一文件塊的預(yù)定區(qū)域;切換模塊,用于若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的預(yù)定區(qū)域,則將所述第一文件塊移出所述內(nèi)存并將與所述第一文件塊相鄰的文件塊載入所述內(nèi)存并呈現(xiàn)。
8.根據(jù)權(quán)利要求7所述的文件呈現(xiàn)裝置,其特征在于,所述劃分模塊用于按照預(yù)定的文件塊大小將所述文件劃分為多個文件塊,其中后一文件塊的前1/N區(qū)域的文件內(nèi)容與前一文件塊的后1/N區(qū)域的文件內(nèi)容相同;N為預(yù)定的常數(shù)。
9.根據(jù)權(quán)利要求8所述的文件呈現(xiàn)裝置,其特征在于,所述切換模塊用于: 若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的前1/M區(qū)域時,則將所述第一文件塊移出所述內(nèi)存并將前一文件塊載入所述內(nèi)存并呈現(xiàn); 若當(dāng)前呈現(xiàn)的顯示區(qū)域位于所述第一文件塊的后1/L區(qū)域時,則將所述第一文件塊移出所述內(nèi)存并將后一文件塊載入所述內(nèi)存并呈現(xiàn); 其中1/N大于或等于1/M+1/L。
10.根據(jù)權(quán)利要求7-9任一項所述的文件呈現(xiàn)裝置,其特征在于,所述第一判斷模塊用于判斷用戶輸入的光標(biāo)位置是否位于所述第一文件塊的預(yù)定區(qū)域。
11.根據(jù)權(quán)利要求10所述的文件呈現(xiàn)裝置,其特征在于,所述文件為可編輯的文件;所述文件呈現(xiàn)裝置進一步包括: 第二判斷模塊,用于若所述光標(biāo)位置位于所述第一文件塊的預(yù)定區(qū)域,在所述將所述第一文件塊移出所述內(nèi)存并將與所述第一文件塊相鄰的文件塊載入所述內(nèi)存并呈現(xiàn)之前,判斷所述第一文件塊的文件內(nèi)容是否發(fā)生改變; 保存模塊,用于若所述第一文件塊的文件內(nèi)容發(fā)生改變,則 提示用戶是否保存所述第一文件塊發(fā)生改變的文件內(nèi)容; 接收用戶輸入的指示保存或指示放棄保存的指令; 并根據(jù)用戶輸入的指示保存的指令對所述第一文件塊發(fā)生改變的文件內(nèi)容進行保存,或者根據(jù)用戶輸入的指示放棄保存的指令恢復(fù)所述第一文件塊的原始內(nèi)容。
12.根據(jù)權(quán)利要求11所述的文件呈現(xiàn)裝置,其特征在于,所述保存模塊用于: 在所述待呈現(xiàn)的文件的同目錄下創(chuàng)建一個空白的臨時文件; 將所述待呈現(xiàn)的文件從文件開頭到所述第一文件塊在所述待呈現(xiàn)的文件中的起始位置之間的未載入內(nèi)存的第一文本內(nèi)容寫入所述臨時文件; 將所述第一文件塊發(fā)生改變的文件內(nèi)容寫入所述臨時文件,以使所述第一文件塊發(fā)生改變的文件內(nèi)容與所述第一文本內(nèi)容在所述臨時文件中依次銜接; 將所述待呈現(xiàn)的文件從所述第一文件塊在所述待呈現(xiàn)的文件中的結(jié)束位置到文件末尾之間的未載入內(nèi)存的第二文本內(nèi)容寫入所述臨時文件,以使所述第二文本內(nèi)容與所述第一文件塊發(fā)生改變的文件內(nèi)容在所述臨時文件中依次銜接; 記錄所述待呈現(xiàn)的文件的文件名后刪除所述待呈現(xiàn)的文件; 以所述待呈現(xiàn)的文件的文件名命名所述臨時文件。
【文檔編號】G06F17/30GK104199856SQ201410398501
【公開日】2014年12月10日 申請日期:2014年8月13日 優(yōu)先權(quán)日:2014年8月13日
【發(fā)明者】裴廷斌 申請人:北京配天技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
荥经县| 静安区| 旅游| 霍州市| 嵩明县| 阿图什市| 固始县| 巴彦淖尔市| 康马县| 安平县| 阿荣旗| 楚雄市| 广饶县| 祁连县| 阿巴嘎旗| 平原县| 沙雅县| 西城区| 乌拉特前旗| 南通市| 桂东县| 腾冲县| 靖远县| 浠水县| 乌鲁木齐县| 随州市| 咸宁市| 泽库县| 南开区| 福建省| 方正县| 名山县| 长海县| 南阳市| 老河口市| 钟山县| 鹿邑县| 江城| 商南县| 武平县| 哈巴河县|