為了對乙個大的文字檔案進行並行解析處理,需要按照固定的大小或者行數的方式對檔案進行拆分,這樣可以加快處理速度,可以的分塊方案如下:
1、 按照特定位元組大小將檔案分割為若干邏輯塊,如果小於分塊大小的合併到其中乙個分塊中,以上例子記錄了分塊大小為100位元組的例子,最後乙個分塊大小為101位元組
2、 每個分塊需要記錄《開始位置,分塊長度,所在檔案》
3、 可能會產生的預知結果是某些行被割裂在不同的分塊中
針對按位元組分塊時可能產生的情況,列舉了如下幾種:
解決方案:
開始讀取時,如果不是第乙個分段,則將讀取位置-1(以便檢查前乙個分段的最後乙個字元是否是換行符),然後將讀取到的第一行直接拋棄掉,從第二行開始真正讀取。
讀取文字檔案
void ctestdlg onreadinfo cfile filewrite1 testwrite1.txt cfile modecreate cfile modewrite cfile filewrite2 testwrite2.txt cfile modecreate cfile modew...
寫文字檔案
textoper 文字檔案操作類 public class textoper 新建乙個檔案 public bool createfile string strpath,string strname else file.create strpath strname return true catch ...
文字檔案操作
1 文字檔案的寫入 建立檔案流 filestream filestream new filestream c myfile file.txt filemode.create 建立寫入器 streamwriter sw new streamwriter filestream 以流的方式寫入資料 sw....