保存文件:
1 private async void RecDataSaveBtn(object sender, RoutedEventArgs e) 2 { 3 string writingData = recvTbx.Text; 4 FileSavePicker fp = new FileSavePicker(); 5 var filedb = new[] { ".txt"}; 6 fp.FileTypeChoices.Add("DB", filedb); 7 fp.SuggestedFileName = "savedata" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year; 8 StorageFile sf = await fp.PickSaveFileAsync(); 9 if (sf != null) 10 { 11 using (StorageStreamTransaction transaction = await sf.OpenTransactedWriteAsync()) 12 { 13 using (DataWriter dataWriter = new DataWriter(transaction.Stream)) 14 { 15 dataWriter.WriteString(writingData); 16 transaction.Stream.Size = await dataWriter.StoreAsync(); 17 await transaction.CommitAsync(); 18 } 19 } 20 } 21 }
打开文件:
1 private async void OpenFileBtn(object sender, RoutedEventArgs e) 2 { 3 FileOpenPicker fop = new FileOpenPicker(); 4 fop.FileTypeFilter.Add(".txt"); 5 fop.FileTypeFilter.Add(".dat"); 6 7 StorageFile sf=await fop.PickSingleFileAsync(); 8 if (sf != null) 9 { 10 using (IRandomAccessStream readStream = await sf.OpenAsync(FileAccessMode.Read)) 11 { 12 using (DataReader dataReader = new DataReader(readStream)) 13 { 14 UInt64 size = readStream.Size; 15 if (size <= UInt32.MaxValue) 16 { 17 UInt32 numBytesLoaded = await dataReader.LoadAsync((UInt32)size); 18 string fileContent = dataReader.ReadString(numBytesLoaded); 19 sendTbx.Text = fileContent; 20 } 21 } 22 } 23 } 24 }