无法使用UWP将文件移动到其他文件夹
我已设置访问文档文件夹的权限 我能够访问存储在文档中的文件夹中的文件 我不明白为什么下面的代码不起作用无法使用UWP将文件移动到其他文件夹,uwp,uwp-xaml,Uwp,Uwp Xaml,我已设置访问文档文件夹的权限 我能够访问存储在文档中的文件夹中的文件 我不明白为什么下面的代码不起作用 public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm) { try { string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel"; StorageFolder Buf
public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm)
{
try
{
string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel";
StorageFolder Bufolder = await StorageFolder.GetFolderFromPathAsync(strPathTarget);
var targetFile = await _subfdl.GetFileAsync(strfilenm);
await targetFile.CopyAsync(Bufolder, strfilenm, NameCollisionOption.ReplaceExisting);
await targetFile.DeleteAsync();
}
catch (Exception ex)
{
}
}
我已经手动创建了这个文件夹,现在我需要访问它并将旧文件移到这里
string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel";
您应该使用
KnownFolders.DocumentsLibrary
而不是string strPathTarget=@“C:\Users\xxx user\Documents\MyTravel
像这样:
public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm) {
try {
StorageFolder Bufolder = await KnownFolders.DocumentsLibrary.GetFolderAsync("MyTravel") ;
var targetFile = await _subfolder.GetFileAsync(strfilenm);
await targetFile.CopyAsync(Bufolder, strfilenm, NameCollisionOption.ReplaceExisting);
await targetFile.DeleteAsync();
} catch (Exception ex) {
}
}
当您访问目录中的文件时,不要忘记需要文件关联。请参阅。什么是“不工作”意思?异常?如果是,它是什么?不能使用void,因为此方法是异步的:wait-StorageFolder.GetFolderFromPathAsync(strPathTarget)。因此,根本不是错误捕获。。你能在捕获行的结尾处设置一个断点并告诉我异常是什么吗?我试过了,它不会停在那里,它会跳过!我正在读取循环中出现的文件。当找到一个文件时,我使用上面的方法将其移动到其他文件夹。然后那里就没有异常了…设置断点是有意义的在这种情况下,返回到第一行并从那里开始。如果没有激活,则可能是代码没有执行,或者是您的安装程序有问题。此处出现错误:StorageFolder Bufolder=Wait KnownFolders.DocumentsLibrary.GetFolderAsync(“MyTravel”)当断点点击此处时,它跳过try语句并进入循环。此方法已执行,但无法捕获错误。Knowfolder方法有问题,我认为这是因为它是一个异步方法并引发异常。无论如何。为了KnowFolders正常工作,在Package.appxmanifest文件中需要两件事:创建一个capabil为documentsLibrary创建一个文件类型关联(如:),并至少创建一个文件类型关联(您可以在声明下的UI上执行此关联)。