第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用C#中的流讀取大文本文件

用C#中的流讀取大文本文件

瀟瀟雨雨 2019-07-05 13:22:36
用C#中的流讀取大文本文件我有一個很好的任務,就是如何處理加載到應用程序腳本編輯器中的大型文件(如下所示)VBA為我們的內部產(chǎn)品快速宏)。大多數(shù)文件大約300-400 KB,這是很好的加載。但是,當它們超過100 MB時,進程將遇到困難(正如您所期望的)。所發(fā)生的情況是將文件讀取并插入到RichTextBox中,然后導航-不要太擔心這個部分。編寫初始代碼的開發(fā)人員只需使用StreamReader并執(zhí)行[Reader].ReadToEnd()這可能需要很長時間才能完成。我的任務是分解這段代碼,將其以塊的形式讀取到緩沖區(qū)中,并顯示一個帶有取消選項的進度條。一些假設:大多數(shù)文件將是30-40 MB。文件的內容是文本(不是二進制),有些是Unix格式,有些是DOS。一旦檢索到內容,我們就知道使用了什么終止符。沒有人擔心,一旦它加載的時間,它呈現(xiàn)在豐富文本框。這只是文本的初始負載。下面是問題:我是否可以簡單地使用StreamReader,然后檢查Length屬性(所以ProgressMax),然后為設置的緩沖區(qū)大小發(fā)出一個Read,然后在WITH循環(huán)中迭代同時在后臺工作人員內部,所以它不會阻塞主UI線程?完成后,將字符串生成器返回到主線程。內容將轉到StringBuilder。如果長度可用,可以用流的大小初始化StringBuilder嗎?這些(在你的專業(yè)意見中)是好主意嗎?過去,我在從流中讀取內容時遇到了一些問題,因為它總是會錯過最后幾個字節(jié)或什么的,但如果是這樣的話,我還會問另一個問題。
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

您說在加載大型文件時,有人要求您顯示進度條。這是因為用戶真的希望看到文件加載的確切百分比,還是僅僅因為他們希望看到某些事情正在發(fā)生的視覺反饋?

如果后者是真的,那么解決方案就會簡單得多。就這么做reader.ReadToEnd()在后臺線程上,并顯示一個標題欄類型的進度條,而不是一個正確的進度條.

我提出這一點,是因為根據(jù)我的經(jīng)驗,情況往往如此。當您正在編寫數(shù)據(jù)處理程序時,用戶肯定會對%完成的數(shù)字感興趣,但是對于簡單但緩慢的UI更新,他們更有可能只是想知道計算機沒有崩潰。*-)


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 1661 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號