Exemple #1
0
        public static String Compress(string fileIn, string originalFile, IPluginHost pluginHost)
        {
            String fileOut = pluginHost.Get_TempFolder() + Path.DirectorySeparatorChar + "new_" + Path.GetFileName(originalFile);

            // Read unknown header
            BinaryReader br = new BinaryReader(File.OpenRead(originalFile));
            byte[] header = br.ReadBytes(0x10);
            br.Close();

            BinaryWriter bw = new BinaryWriter(File.OpenWrite(fileOut));
            bw.Write(header);

            // Compress the file with LZ11
            String tempFile = Path.GetTempFileName();
            pluginHost.Compress(fileIn, tempFile, FormatCompress.LZ11);
            bw.Write(File.ReadAllBytes(tempFile));
            bw.Flush();
            bw.Close();

            File.Delete(tempFile);
            return fileOut;
        }