C#讀取二進制文件,解析它們並做壹些分析,但是讀取非常慢。有什麽方法嗎?文件大約4M。
這是壹個二進制文件,用低級函數讀寫。建議先用ultraedit打開,搞清楚裏面的結構,比如哪個部分是股票代碼,哪個部分是名稱,哪個部分是價格。第二步:讀寫流。系統。二進制閱讀器和系統。IO.BinaryWriter類用於讀寫二進制文件;妳還需要分析數據格式。特別日檔案裏的日期,很久以前做的,現在忘了。裏面的日期好像要換算壹下。日文件存儲壹段時間內的每日價格。這個好像很好分析。本來是delphi編的,只是現在找不到了。可能是我老婆刪了。這是供妳參考的:1。數據文件和數據結構:大智慧數據文件和數據結構:(假設大智慧股市軟件安裝在D:dzh目錄下)上海日線的存儲路徑為D: DHDatashaseday,文件擴展名為:。日,而上海周線的存儲路徑是D: DHDatashaseweek。文件擴展名為:。wek,上海月線的存儲路徑為:d:dzhdatasassemonth,文件擴展名為:。mnt,深圳日線的存儲路徑為:d: dzhdatasznsensaday,深圳周線的存儲路徑為:d: dzhdatasznsenseweek,月線格式與日線壹致。以SDB日線為例:1a 76:0100 D6 CD 2f 01520 70100-5207010052070100176。02000000000000001A76:01200000000000000-d7cd 2f 0100301001A76:01306003010600030100-65438D6CD2F01換算成十進制:199101025-8字節=開盤價(元)*10009-12字節=最高價(元)* 12字節。100017-20字節=收盤價(元)* 10021-24字節=成交金額(元)/100025-28字節=成交量(手)其余12字節。然後將數據讀入相應的數組並將每日數據放入:%app_dir%\DATA\SHase\Day(上海a股)和%app_dir%\DATA\SZnse\Day(深圳a股)# pragmaoncestructdzh5 Day { unsigned long date;//日期格式:20070423unsignedlongopen//開盤價unsignedlonghigh//最高價為unsignedlonglow//最低價unsignedlongclose//收盤價unsignedlongmoneysum//交易金額unsignedlong transition;//交易數量char unused[12];//保留};整個結構是***40字節,所以讀者可以查看所有的日常文件,大小必須是40的倍數,這樣就很容易讀取對應的數據:比如file * pfile = fopen ("600001。日”、“Rb”);if(NULL!=pFile){while(!feof(pFile)){ dzh 5 day dayk;弗雷德(& ampdayK,sizeof(DZH5Day),1,pFile);}} -