private static void DecompressFile(string inputFileName, string outputFileName) { var fileData = File.ReadAllBytes(inputFileName); var decompressedFileData = CgssLz4.Decompress(fileData); using (var decompressedFileStream = File.Open(outputFileName, FileMode.Create, FileAccess.Write)) { decompressedFileStream.WriteBytes(decompressedFileData); } }
private void CmdBuildScoreDatabase_Executed(object sender, ExecutedRoutedEventArgs e) { var selectedRecord = (LiveMusicRecord)((ComboBoxItem)CboSongList.SelectedItem).Tag; var standardFileName = $"musicscores_m{selectedRecord.LiveID:000}.bdb"; string lz4FileName = null; if (CreateLz4CompressedBdbFile) { lz4FileName = standardFileName + ".lz4"; } var saveDialog = new SaveFileDialog { OverwritePrompt = true, ValidateNames = true, Filter = Application.Current.FindResource <string>(App.ResourceKeys.BdbFileFilter), FileName = standardFileName }; var saveResult = saveDialog.ShowDialog(); if (!(saveResult ?? false)) { return; } if (lz4FileName != null) { lz4FileName = Path.Combine((new FileInfo(saveDialog.FileName)).DirectoryName ?? string.Empty, lz4FileName); } try { var difficultyMappings = new Dictionary <Difficulty, Difficulty> { { Difficulty.Debut, MappingDebut }, { Difficulty.Regular, MappingRegular }, { Difficulty.Pro, MappingPro }, { Difficulty.Master, MappingMaster }, { Difficulty.MasterPlus, MappingMasterPlus } }; BuildBdb(Project, saveDialog.FileName, selectedRecord, difficultyMappings); if (lz4FileName != null) { var fileData = File.ReadAllBytes(saveDialog.FileName); var compressedFileData = CgssLz4.Compress(fileData); using (var compressedFileStream = File.Open(lz4FileName, FileMode.Create, FileAccess.Write)) { compressedFileStream.WriteBytes(compressedFileData); } } var format = lz4FileName == null? Application.Current.FindResource <string>(App.ResourceKeys.BdbBuildingCompletePromptTemplate1) : Application.Current.FindResource <string>(App.ResourceKeys.BdbBuildingCompletePromptTemplate2); var message = string.IsNullOrEmpty(lz4FileName) ? string.Format(format, saveDialog.FileName) : string.Format(format, saveDialog.FileName, lz4FileName); MessageBox.Show(message, App.Title, MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, App.Title, MessageBoxButton.OK, MessageBoxImage.Exclamation); } }