Ejemplo n.º 1
0
        /// <summary>
        /// 反序列化二进制文件成对象
        /// </summary>
        /// <typeparam name="T">要反序列化成对象的 对象类型</typeparam>
        /// <param name="binaryFileFullPath">二进制文件全路径</param>
        /// <param name="encoding">编码 Null 使用默认编码</param>
        /// <param name="ifDecompressBytes">是否解压缩字节数组 默认值 True 解压缩形式反序列化字节数组</param>
        /// <returns></returns>
        public static T DeserializeFromBytesFile <T>(string binaryFileFullPath, Encoding encoding = null, bool ifDecompressBytes = true) where T : class
        {
            var bytes = FileHelper.GetBinaryFileBytes(binaryFileFullPath);

            if (ifDecompressBytes)
            {
                bytes = CompressionHelper.DecompressBytesFromBytes(bytes);
            }
            return(BinarySerializeHelper.DeserializeFromBytes <T>(bytes, encoding));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 把对象序列化成二进制文件
 /// </summary>
 /// <typeparam name="T">要序列化对象 的 对象类型</typeparam>
 /// <param name="binaryFileFullPath">要序列化成二进制文件的全路径</param>
 /// <param name="t">要序列化对象的实例</param>
 /// <param name="encoding">编码 Null 使用默认编码</param>
 /// <param name="ifCompressBytes">是否压缩字节数组 默认值 True 压缩形式序列化字节数组</param>
 /// <returns></returns>
 public static void SerializeToBytesFile <T>(T t, string binaryFileFullPath, Encoding encoding = null, bool ifCompressBytes = true) where T : class
 {
     FileHelper.CreateBinaryFile(binaryFileFullPath, ifCompressBytes ? CompressionHelper.CompressBytesToBytes(BinarySerializeHelper.SerializeToBytes(t, encoding)) : BinarySerializeHelper.SerializeToBytes(t, encoding));
 }