請教 關於使用文字檔案記錄資料慢的問題

2022-07-14 14:33:17 字數 1528 閱讀 4135

軟體使用文字檔案來記錄資料,前些天以客戶反映,資料寫入時間太長,能不能設定不記錄資料,因為之前測試的時候,測試400個點的資料,寫入的時間也就在1秒鐘的樣子,而客戶實際寫入是需要到一分半鐘。

起初以為是不是系統的問題,因為給客戶配置的是膝上型電腦,使用的win10家庭版的系統,而之前一直使用的是win7的系統,我想那就給客戶改下程式,不記錄資料,暫時使用。

這兩天空閒下來,進行測試,分別測試了win7和win10的系統,起初沒有發現異常,寫入速度都挺快的,但是經過多次寫入的話,寫入的資料就開始變慢了,不管是win7還是win10,都是一樣的結果,排除了系統的原因。

經過測試,發現是因為資料寫的越來越多,導致的速度越來越慢。

測試電腦系統屬性

測試寫入時間記錄

每次寫入的資料量大概是45k。

這樣下來,資料寫的越來越多,寫入的時間越來越長,但是每次寫入的資料量是一定的,那這種原因就是檔案多來越大,那麼寫入的速度就越來越慢了。

記錄資料的方式是使用window的寫配置檔案的api函式,每次將資料格式化後,寫入檔案中

//

l strtemp.format("

%.2f

",dataarray.getat(i).l);

writeprivateprofilestring(strjiedian,"l

",strtemp,strlogfilename);

//xstrtemp.format("

%.4f

",dataarray.getat(i).x);

writeprivateprofilestring(strjiedian,

"xse

",strtemp,strlogfilename);

//ystrtemp.format("

%.4f

",dataarray.getat(i).y);

writeprivateprofilestring(strjiedian,

"yse

",strtemp,strlogfilename);

到此可以判斷,隨著記錄檔案的增大,寫入的速度變慢了。

那麼要想就解決這個問題,該怎麼辦呢。

目前能想到的辦法是使用資料庫來記錄資料,但是不知道要使用哪種資料庫來記錄。

或者說有其它辦法來解決這個資料儲存慢的問題。

我知道這種格式化輸出的文字檔案是比較耗時的,如果直接使用二進位制檔案記錄的話,速度會很快。

但是這些記錄需要一定的格式來記錄,後續需要進行一些刪除和選擇輸出的功能,所以使用二進位制檔案不太方便記錄和刪除。

哪位前輩能推薦乙個合適的解決方案,在此多謝了。

哪位前輩能推薦乙個合適的解決方案,在此多謝了。

哪位前輩能推薦乙個合適的解決方案,在此多謝了。

重要的事要說三遍。

使用fscanf讀取文字檔案

fscanf為讀取文字檔案的乙個c api,其特點是可格式化讀取檔案內容。1 file pf fopen c hello.txt r 2if null pf 3return 4 5char cstr 256 6fscanf pf,s cstr 7fclose pf fscanf使用空格,tab,回車...

讀取文字檔案資料

讀取文字檔案資料 檔案路徑 private datatable gettxt string path dt.columns.add line.substring 0,index line line.substring index,line.length index trim datarow dr d...

使用python操作json文字檔案

使用python讀寫文字檔案內容時,我們知道如果文字檔案裡的內容無規律,那麼修改起來比較麻煩。但是如果文字檔案儲存是有規律的,比如json格式,在利用python內建的函式把json格式的資料轉成python字典物件之類,操作起來則非常便捷。閱讀本文需要對python檔案操作有簡單了解 f open...