public void Can_decompress_file()
        {
            using (var compressedInputStream = File.OpenRead(_saveFile))
            {
                var activeSaveFile   = new SaveFileCompressionHelper();
                var decompressedFile = activeSaveFile.Decompress(compressedInputStream);
                var json             = JsonConvert.SerializeObject(activeSaveFile.MetaInformation, Formatting.Indented);

                _jsonPath = $"{Constants.FileStructure.OUTPUT_FOLDER_NAME}\\{activeSaveFile.MetaInformation.FileGuid}_{Constants.FileStructure.METAINFORMATION_SUFFIX}.{Constants.FileExtensions.JSON}";
                File.WriteAllText(_jsonPath, json);

                _binPath = $"{Constants.FileStructure.OUTPUT_FOLDER_NAME}\\{activeSaveFile.MetaInformation.FileGuid}_{Constants.FileStructure.UNCOMPRESSED_SUFFIX}.{Constants.FileExtensions.DECOMPRESSED_FILE}";
                File.WriteAllBytes(_binPath, decompressedFile);
            }
        }
Esempio n. 2
0
        private void uncompressButton_Click(object sender, EventArgs e)
        {
            if (File.Exists(_selectedFileForDecompression))
            {
                using (var compressedInputStream = File.OpenRead(_selectedFileForDecompression))
                {
                    var    decompressedFile = _saveFileCompressionHelper.Decompress(compressedInputStream);
                    string json             = JsonConvert.SerializeObject(_saveFileCompressionHelper.MetaInformation, Formatting.Indented);
                    var    outputFolder     = new FileInfo(_selectedFileForDecompression).Directory.FullName;
                    File.WriteAllText($"{outputFolder}\\{_saveFileCompressionHelper.MetaInformation.FileGuid}_{Constants.FileStructure.METAINFORMATION_SUFFIX}.{Constants.FileExtensions.JSON}", json);
                    File.WriteAllBytes($"{outputFolder}\\{_saveFileCompressionHelper.MetaInformation.FileGuid}_{Constants.FileStructure.UNCOMPRESSED_SUFFIX}.{Constants.FileExtensions.DECOMPRESSED_FILE}", decompressedFile);
                }

                MessageBox.Show(Constants.Messages.DECOMPRESSION_SUCCESSFUL, "", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(Constants.Messages.MISSING_FILE_TEXT, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }