Esempio n. 1
0
        /// <summary>
        /// 读取一个fcs数据集
        /// </summary>
        /// <param name="stream">文件流</param>
        /// <param name="nextData">下一个数据集的起点,相对于此方法返回的数据集起点</param>
        /// <param name="fileBeginOffset">相对于流起点的位置</param>
        /// <returns></returns>
        public static FCS ReadOneDataset(Stream stream, out long nextData, long fileBeginOffset = 0)
        {
            if (!stream.CanRead || !stream.CanSeek)
            {
                throw new Exception("Stream can't read or seek");
            }
            var version = ReadVersion(stream, fileBeginOffset);

            switch (version)
            {
            case "FCS3.2":
                return(FCS32Server.ReadDataset(stream, out nextData, fileBeginOffset));

            case "FCS3.1":
                return(FCS31Server.ReadDataset(stream, out nextData, fileBeginOffset));

            case "FCS3.0":
                return(FCS30Server.ReadDataset(stream, out nextData, fileBeginOffset));

            default:
                throw new Exception("Version not supported");
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 保存到3.2版本
 /// </summary>
 /// <param name="stream">可保存的流</param>
 /// <param name="list">fcs对象集合</param>
 /// <returns>是否保存成功</returns>
 public static void SaveToFCS32(Stream stream, params FCS[] list)
 {
     FCS32Server.Save(stream, list);
 }