public static ClientParameters ReadParameters(string filePath) { ClientParameters p = new ClientParameters(); int paraSize = Marshal.SizeOf(typeof(ClientParameters)); byte[] fileData = System.IO.File.ReadAllBytes(filePath); byte[] paraData = fileData.ToList().SplitBytes(fileData.Length - paraSize, paraSize); for (int i = 0; i < 4; i++) { if (paraData[i] != 0xff) { return(p); } } p = ByteArray2Struct <ClientParameters>(paraData); return(p); }
public static void WriteParameters(byte[] sourceFileData, string destFileName, ClientParameters para) { int paraSize = Marshal.SizeOf(typeof(ClientParameters)); byte[] paraData = sourceFileData.ToList().SplitBytes(sourceFileData.Length - paraSize, paraSize); bool paraExists = true; for (int i = 0; i < 4; i++) { if (paraData[i] != 0xff) { paraExists = false; break; } } para.InitHeader(); byte[] paraDataNew = Struct2ByteArray(para); System.IO.FileStream fs = new System.IO.FileStream(destFileName, FileMode.Create, FileAccess.Write); if (paraExists) { fs.Write(sourceFileData, 0, sourceFileData.Length - paraSize); } else { fs.Write(sourceFileData, 0, sourceFileData.Length); } fs.Write(paraDataNew, 0, paraDataNew.Length); fs.Close(); }
public static void WriteParameters(string filePath, ClientParameters para) { byte[] sourceFileData = System.IO.File.ReadAllBytes(filePath); WriteParameters(sourceFileData, filePath, para); }