求大神C#编程:打开并读取格式为“.day”的文件!!!求助!!!

求大神C#编程:打开并读取格式为“.day”的文件!!!求助!!!,第1张

这是个二进制文件,用低级函数读写。

建议先用ultraedit打开,把里面的结构搞清楚,例如那一段是股票代号,哪一段是名称,哪一段价格。

第二步:读写流。读写二进制文件用System.IO.BinaryReader和System.IO.BinaryWriter类;

你同样要分析数据格式。特别day文件里的日期,我是老早搞过,现在都忘了。里面的日期好像还要换算。day文件里存储的是一段时期的每天价格。这个好像很好分析的。原来用delphi编过,刚才找没找到,可能被老婆给删除了。

这个给你参考:

一、数据文件和数据结构:

大智慧数据文件和数据结构:(假设大智慧股票行情软件安装在D:dzh目录下)

上海日线存储路径为:D:dzhDATASHaseDay,文件扩展名为:.day

上海周线存储路径为:D:dzhDATASHaseweek,文件扩展名为: .wek

上海月线存储路径为:D:dzhDATASHasemonth,文件扩展名为: .mnt

深圳日线存储路径为:D:dzhDATASZnseDay

深圳周线存储路径为:D:dzhDATASZnseweek

深圳月线存储路径为:D:dzhDATASZnsemonth

周线,月线格式与日线格式一致.

以深发展日线为例:

1A76:0100 D6 CD 2F 01 52 07 01 00-52 07 01 00 52 07 01 00

1A76:0110 52 07 01 00 86 0F 00 00-4D 02 00 00 00 00 00 00

1A76:0120 00 00 00 00 00 00 00 00-D7 CD 2F 01 60 03 01 00

1A76:0130 60 03 01 00 60 03 01 00-60 03 01 00 82 05 00 00

1A76:0140 D4 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

每一条记录的长度为40字节:

1-4字节为日期,D6 CD 2F 01转换为十进制是:19910102

5-8字节=开盘价(元)*1000

9-12字节=最高价(元)*1000

13-16字节=最低价(元)*1000

17-20字节=收盘价(元)*1000

21-24字节=成交金额(元)/1000

25-28字节=成交量(手)

其余12字节未使用

实现步骤:

1、先定义日线数据结构数组

2、再以实际记录数分配动态数组空间

3、然后把数据读入相应数组中

日线数据放在:%app_dir%\DATA\SHase\Day(上证A股) 以及 %app_dir%\DATA\SZnse\Day(深圳A股)

#pragma once

struct DZH5Day

{

unsigned long date//date的格式:20070423

unsigned long open//开盘价

unsigned long high//最高价

unsigned long low//最低价

unsigned long close//收盘价

unsigned long moneysum//成交金额

unsigned long turnover//成交数量

char unused[12]//保留

}

整个结构共40个字节,读者可以查看所有的日线文件,大小肯定是40的倍数

这样很容易读出相应的数据:

如:

FILE* pFile = fopen("600001.day", "rb")

if (NULL != pFile)

{

while(!feof(pFile))

{

DZH5Day dayK

fread(&dayK, sizeof(DZH5Day), 1, pFile)

......

}

}

-------------------------------------------------------------------------------------------------------

*.day文件,就是你的脱机个股资料,也就是脱机缓存。

收市后你可以下载全部日线数据。如果不下载,那么你收市后看过的个股资料,会自动生成*.day文件。当你离线,你就只能看到这些个股的资料,别的个股资料空白。

*.day文件一般在cache文件夹内,例如:你有SH601398.day文件,你离线后就可以脱机查看工商银行的资料。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8118004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存