当前位置:实例文章 » C#开发实例» [文章]UWP C# 将 Assets 下任意文件保存至用户选择的位置

UWP C# 将 Assets 下任意文件保存至用户选择的位置

发布人:shili8 发布时间:2024-11-22 10:34 阅读次数:0

**UWP C#保存Assets下的文件**

在 UWP 应用中,Assets 是一个特殊的目录,用来存放应用程序的资源,如图片、音频、视频等。有时我们需要将这些资源保存到用户选择的位置,这里就介绍如何实现这一功能。

### **1. 获取用户选择的位置**

首先,我们需要获取用户选择的位置。UWP 提供了 `Windows.Storage.Pickers` 命名空间,提供了各种文件选择器,如 `FileSavePicker` 等。

csharpusing Windows.Storage;
using Windows.Storage.Pickers;

// 创建一个 FileSavePicker 对象var fileSavePicker = new FileSavePicker();
fileSavePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; // 指定保存位置// 显示文件选择器await fileSavePicker.PickSaveFileAsync().AsTask();

// 获取用户选择的文件路径StorageFile storageFile = await fileSavePicker.PickSaveFileAsync();


### **2.读取Assets下的文件**

接下来,我们需要读取 Assets 下的文件。我们可以使用 `Windows.Storage.ApplicationData` 命名空间中的 `Current` 属性获取当前应用程序的数据。

csharpusing Windows.Storage;

// 获取当前应用程序的数据var appData = ApplicationData.Current;
var storageFolder = await appData.LocalFolder.GetFolderAsync("Assets"); // Assets 目录//读取 Assets 下的文件StorageFile file = await storageFolder.GetFileAsync("example.txt");


### **3. 将Assets下的文件保存至用户选择的位置**

最后,我们需要将 Assets 下的文件保存至用户选择的位置。我们可以使用 `Windows.Storage.FileIO` 命名空间中的 `ReadTextAsync` 和 `WriteTextAsync` 方法读取和写入文本文件。

csharpusing Windows.Storage;

//读取 Assets 下的文件var fileContent = await FileIO.ReadTextAsync(file);

// 将 Assets 下的文件保存至用户选择的位置await FileIO.WriteTextAsync(storageFile, fileContent);


### **完整代码示例**

csharpusing Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.FileIO;

namespace UWP_SaveAssetsFile{
 public sealed class MainPage : Page {
 private async void Button_Click(object sender, RoutedEventArgs e)
 {
 // 创建一个 FileSavePicker 对象 var fileSavePicker = new FileSavePicker();
 fileSavePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; // 指定保存位置 // 显示文件选择器 StorageFile storageFile = await fileSavePicker.PickSaveFileAsync();

 // 获取当前应用程序的数据 var appData = ApplicationData.Current;
 var storageFolder = await appData.LocalFolder.GetFolderAsync("Assets"); // Assets 目录 //读取 Assets 下的文件 StorageFile file = await storageFolder.GetFileAsync("example.txt");

 //读取 Assets 下的文件内容 var fileContent = await FileIO.ReadTextAsync(file);

 // 将 Assets 下的文件保存至用户选择的位置 await FileIO.WriteTextAsync(storageFile, fileContent);
 }
 }
}


### **注意事项**

* 在 UWP 应用中,Assets 是一个特殊的目录,用来存放应用程序的资源,如图片、音频、视频等。
* 使用 `Windows.Storage.Pickers` 命名空间中的 `FileSavePicker` 对象获取用户选择的位置。
* 使用 `Windows.Storage.ApplicationData` 命名空间中的 `Current` 属性获取当前应用程序的数据。
* 使用 `Windows.Storage.FileIO` 命名空间中的 `ReadTextAsync` 和 `WriteTextAsync` 方法读取和写入文本文件。

以上就是如何在 UWP C# 应用中将 Assets 下任意文件保存至用户选择的位置的步骤。

相关标签:c#开发语言
其他信息

其他资源

Top