private async Task LoadTextFromFileWithEncoding(FileSystemStorageFile File, Encoding Enco) { LoadingControl.IsLoading = true; await Task.Delay(500); try { using (FileStream Stream = await File.GetFileStreamFromFileAsync(AccessMode.Read)) using (StreamReader Reader = new StreamReader(Stream, Enco, false)) { EditText.Text = await Reader.ReadToEndAsync(); } } catch (Exception ex) { LogTracer.Log(ex, "Could not load the content in file"); QueueContentDialog Dialog = new QueueContentDialog { Title = Globalization.GetString("Common_Dialog_ErrorTitle"), Content = Globalization.GetString("QueueDialog_CouldReadWriteFile_Content"), CloseButtonText = Globalization.GetString("Common_Dialog_CloseButton") }; await Dialog.ShowAsync(); } await Task.Delay(500); LoadingControl.IsLoading = false; }
/// <summary> /// 异步获取音乐封面 /// </summary> /// <returns>艺术家名称</returns> private async Task <BitmapImage> GetMusicCoverAsync() { try { using (FileStream FileStream = await MediaFile.GetFileStreamFromFileAsync(AccessMode.Read)) using (var TagFile = TagLib.File.Create(new StreamFileAbstraction(MediaFile.Name, FileStream, FileStream))) { if (TagFile.Tag.Pictures != null && TagFile.Tag.Pictures.Length != 0) { byte[] ImageData = TagFile.Tag.Pictures[0].Data.Data; if (ImageData != null && ImageData.Length != 0) { using (MemoryStream ImageStream = new MemoryStream(ImageData)) { BitmapImage Bitmap = new BitmapImage { DecodePixelHeight = 250, DecodePixelWidth = 250 }; await Bitmap.SetSourceAsync(ImageStream.AsRandomAccessStream()); return(Bitmap); } } else { return(null); } } else { return(null); } } } catch { return(null); } }
private async Task <Encoding> DetectEncodingFromFileAsync() { try { using (FileStream DetectStream = await TextFile.GetFileStreamFromFileAsync(AccessMode.Read).ConfigureAwait(true)) { return(await Task.Run(() => { using (StreamReader Reader = new StreamReader(DetectStream, Encoding.Default, true)) { Reader.Read(); return Reader.CurrentEncoding; } })); } } catch (Exception ex) { LogTracer.Log(ex, "Could not detect the encoding of file"); return(null); } }