目前,我只知道如何使用以下方法复制文件:
IStorageFolder dir = Windows.Storage.ApplicationData.Current.LocalFolder;
IStorageFile file = await StorageFile.GetFileFromApplicationUriAsync(
new Uri("ms-appx:///file.txt"));
await file.CopyAsync(dir, "file.txt");
当我尝试复制文件夹和里面的所有内容时,我找不到像上面的 CopyAsync
这样的 API。
是否可以复制文件夹和WinRT中的所有内容?
最佳答案
上面的代码并不令我满意(太具体了),我做了自己的通用代码所以想我可以分享它:
public static async Task CopyFolderAsync(StorageFolder source, StorageFolder destinationContainer, string desiredName = null)
{
StorageFolder destinationFolder = null;
destinationFolder = await destinationContainer.CreateFolderAsync(
desiredName ?? source.Name, CreationCollisionOption.ReplaceExisting);
foreach (var file in await source.GetFilesAsync())
{
await file.CopyAsync(destinationFolder, file.Name, NameCollisionOption.ReplaceExisting);
}
foreach (var folder in await source.GetFoldersAsync())
{
await CopyFolderAsync(folder, destinationFolder);
}
}
关于c# - 在 WinRT 上复制文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248287/