none
大量存取文字檔問題 RRS feed

  • 問題

  • 大家好,我之前讀取文字檔都會透過TextFieldParser類別去做讀取,我必須把文字從中把逗號前後做分割(利用Delimiters屬性),並且存到陣列中,現在碰到的問題是,當檔案大不大時,所花的時間都可以接受,資料數大到數萬筆時,每筆資料都是透過逗號隔開,讀取會花相當多時間(好幾分鐘) ,這已經超出可接受範圍。

     

    不知道有沒有其他方法可以去解決此問題!?

    2007年9月10日 下午 03:27

解答

  • 存取文字檔本來就要花很多的時間,除非加快 I/O,或者使用多執行緒處理(一個執行緒讀 1000 筆資料),不然很難加快速度。

     

    2007年9月11日 上午 03:58
    版主

所有回覆

  • 存取文字檔本來就要花很多的時間,除非加快 I/O,或者使用多執行緒處理(一個執行緒讀 1000 筆資料),不然很難加快速度。

     

    2007年9月11日 上午 03:58
    版主
  • HI,

     

    如果程式使用迴圈處理字串, 切記不要在迴圈中執行串連字串的動作, 例如:

     

    '假設sr是一個StreamReader類別的物件

     

    While sr.Peek() > -1

        TextBox1.Text += sr.Read()

    End While

     

    否則程式的速度會慢到令人訝異的程度

     

    tihs

    2007年9月11日 上午 06:08