JY.File类库中包含了一个AnalogWaveformFile类,提供波形的存储和读取功能,公共属性和方法如下图所示。
属性 |
|
属性名称 |
功能描述 |
FileFormat |
文件格式,枚举,Stream/Multi-Record。 |
DataType |
数据格式,枚举,Int16/Int32/Float/Double。 |
ByteOrder |
字节序,枚举,Little
Endian/Big Endian。 |
ArchiveInformation |
归档信息,见”ArchiveInformation”类说明。 |
NumberOfChannels |
通道数。 |
SampleRate |
采样率,S/s |
DataLength |
数据长度,以Sample为单位 |
Channels |
各通道采样信息,包括通道名称、采集量程、换算因子、物理单位名称和备注,List<ChannelInfo>列表,见” ChannelInfo”类说明。 |
DataStartTime |
数据起始点时间。 |
TimeLabels |
时间戳标签序列,可定义一组标签来标识指定数据采样点所在的时间,当文件格式为Stream时可对于长时间连续数据的时间此证,当文件格式为Multi-Record时用于标识个Record的起始点时间信息,见” Timelabel”类说明。 |
CustomLabels |
自定义标签序列,可定义一组标签来保存备注信息,见” CustomLabel”类说明。 |
EnableWriteBuffering |
是否开启写操作缓存。 |
EnableFastStream |
是否开启高速读写。 |
方法 |
|
Open |
创建新文件或打开文件。 |
Close |
关闭文件。 |
Write |
写入数据,多态方法,支持多种数据类型(short,int,float,double)。 |
Read |
读取数据,多态方法,支持单通道、多通道,以及多种数据类型(short,int,float,double)。 |
SetFilePosition |
读取文件位置,以Sample为单位。 |
GetFilePositon |
获取当前文件读取位置,或已写入的数据长度,以Sample为单位。 |
AddTimeLabel |
添加时间标签,多态方法。 |
GetTimeLabel |
获取指定时间标签信息。 |
AddCustomLabel |
添加自定义备注,支持Int/Double/String。 |
GetCustomLabel |
获取指定自定义标签信息。 |
ArchiveInformation类定义文件归档信息。
属性 |
|
属性名称 |
功能描述 |
FileVersion |
只读,WaveformFile的版本 |
Author |
可用于描述数据来源 |
DataLabel |
可用于数据的归档标识 |
DataGroupID |
可用于文件的关联标识 |
FileCreatedDate |
只读,文件建立的时间 |
GeographicLocation |
可用于描述地理位置信息 |
Description |
可用于描述数据备注 |
ChannelInfo类定义通道信息。
属性 |
|
属性名称 |
功能描述 |
Name |
通道名称 |
RangeHigh |
通道量程上限 |
RangeLow |
通道量程下限 |
Offset |
a of "a + b
* x" |
Scale |
b of "a + b * x" |
Unit |
单位 |
Description |
备注 |
TimeLabel类定义时间标签信息。
属性 |
|
属性名称 |
功能描述 |
Name |
标签名。 |
Postion |
样点位置,表示相对于起始样点的样点个数。 |
Time |
样点时间。 |
Description |
备注。 |
CustomLabel类定义自定义标签信息,并提供获取和修改自定义标签值的方法。
属性 |
|
属性名称 |
功能描述 |
Name |
标签名。 |
DataType |
标签数据格式,枚举,Int16/Int32/Double/String。 |
方法 |
|
SetValue |
设置标签值。 |
GetValue |
获取标签值。 |
BinHandler类实现从bin文件读取和写入数据的功能,目前支持读写double或string类型的一维或二维数据。
方法 |
|
方法名称 |
功能描述 |
ReadData |
从bin文件中读取数据到二维string数组 |
ReadDoubleData |
从bin文件中读取数据到二维double数组 |
WriteData |
将一维或二维的string或double数组写入bin文件。可以配置当文件存在时追加还是覆盖。 |
CsvHandler是静态类,实现从csv文件读取和写入数据的功能,目前支持读写string、double、int、uint、short、ushort类型的一维或二维数据。
方法 |
|
方法名称 |
功能描述 |
Read<TDataType> |
从csv文件中读取数据到一维或二维数组,支持的数据类型有:double/float/int/uint/short/ushort/byte。 |
Write<TDataType> |
向csv文件中写入一维或二维数组,支持所有支持ToString方法的类型,确定支持的数据类型有double/float/int/uint/short/ushort/byte。 |
CsvHandler的Read和Write方法为泛型方法。
Read方法支持double/float/ int/uint/short/ushort/byte类型的数据,需要手动指定泛型的类型,例如读取double类型时的代码:Read<double>(filepath, …)。Read方法有多个重载,分别支持读取指定行/从某行起始的多行/从某行起始的所有行、指定列/多个指定的列,支持包含路径的入参和不包含文件的入参(不包含路径入参时会弹出winform的文件选择窗口),同时支持配置读取的编码格式(如果不配置则默认使用系统的默认编码格式,大多系统为unicode)。
Write方法理论上支持所有实现ToString方法的类型,确定支持double/float/ int/uint/
short/ushort/byte类型的数据。Write方法支持写入一维和二位数组,可以配置写入的编码格式(如果不配置则默认使用系统的默认编码格式,大多系统为unicode),支持包含路径的入参和不包含文件的入参(不包含路径入参时会弹出winform的文件选择窗口)。
注:CsvHandler在1.4.3及以前版本的接口都被标记为废弃,后期不再维护,不推荐使用。基于原有接口的应用仍可以正常运行。
IniHandler类是静态类,实现对ini文件的操作。有6个调用接口,前四个主要用于整个ini文件的读写改操作,后两个方法适用于单个键值对的读写操作。每个方法的说明如下所示:
方法 |
|
方法名称 |
功能描述 |
ReadIniFile |
从ini文件中读取数据,返回IniData数据结构 |
WriteIniFile |
将IniData数据写入文件 |
MergeIniData |
将两个IniData数据合并,写入第一IniData |
MergeToFile |
将IniData中的数据合并到某个文件的IniData,并写入原文件 |
Read |
读取Ini文件中所有的Section名称;某个Section下所有的Key;某个Section下某个Key对应的Value |
Write |
向Ini文件中的某个Section添加或者键值对或者修改某个Key对应的值 |
IniHandler中涉及到三个数据类型,使用说明如下:
数据类型 |
||
类 |
功能描述 |
|
IniData |
保存ini文件数据结构的类 |
|
|
Sections |
所有字段数据的集合,可以使用foreach遍历 |
|
Global |
所有全局键值对的集合 |
|
Sections.AddSection(string sectionName) |
添加空白字段 |
|
Sections.AddSection(SectionData sectionData) |
添加已有字段 |
|
Sections.ContainsSection(string sectionName) |
是否包含某个名称的字段 |
|
Sections.RemoveSection(string sectionName) |
删除某个字段 |
|
Sections[string sectionName] |
获取某个名称的SectionData |
Section |
保存单个字段数据的类 |
|
|
SectionName |
获取或配置字段的名称 |
|
Keys |
保存键值对数据的集合,可使用foreach遍历 |
|
Keys.AddKey(string key, string value) |
添加一个键值对 |
|
Keys.RemoveKey(string key) |
删除一个键值对 |
|
Keys.ContainsKey(string key) |
是否包含某个键值对 |
|
Keys[string keyName] |
获取该键对应的值,可以使用Key[key]=value修改某个键值对的名称 |
KeyData |
保存单个键值对数据的类 |
|
|
KeyName |
键值对的键 |
|
Value |
键值对的值 |