AnalogWaveformFile

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

BinHandler实现从bin文件读取和写入数据的功能,目前支持读写doublestring类型的一维或二维数据。

方法

方法名称

功能描述

ReadData

bin文件中读取数据到二维string数组

ReadDoubleData

bin文件中读取数据到二维double数组

WriteData

将一维或二维的stringdouble数组写入bin文件。可以配置当文件存在时追加还是覆盖。

 

CsvHandler

CsvHandler是静态类,实现从csv文件读取和写入数据的功能,目前支持读写stringdoubleintuintshortushort类型的一维或二维数据。

方法

方法名称

功能描述

Read<TDataType>

csv文件中读取数据到一维或二维数组,支持的数据类型有:double/float/int/uint/short/ushort/byte

Write<TDataType>

csv文件中写入一维或二维数组,支持所有支持ToString方法的类型,确定支持的数据类型有double/float/int/uint/short/ushort/byte

CsvHandlerReadWrite方法为泛型方法。

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的文件选择窗口)

注:CsvHandler1.4.3及以前版本的接口都被标记为废弃,后期不再维护,不推荐使用。基于原有接口的应用仍可以正常运行。

IniHandler

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

键值对的值