gpt4 book ai didi

c# - 在windwos8中创建文件夹访问被拒绝

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:54 24 4
gpt4 key购买 nike

我使用下面的代码在应用程序安装文件夹中创建文件夹,但我总是收到访问被拒绝的异常。

StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
if (!await CheckIfFolderExist(appDataFolderName))
{
StorageFolder appDataFolder = await appFolder.CreateFolderAsync(appDataFolderName);
StorageFolder userFolder = await appDataFolder.CreateFolderAsync(userFolderName);
StorageFolder contactFolder = await appDataFolder.CreateFolderAsync(contactFolderName);
}
else
{
StorageFolder appDataFolder = await appFolder.GetFolderAsync(appDataFolderName);
if (!await CheckIfSubFolderExis(appDataFolderName, userFolderName))
{
await appDataFolder.CreateFolderAsync(userFolderName);
}
if (!await CheckIfSubFolderExis(appDataFolderName, contactFolderName))
{
await appDataFolder.CreateFolderAsync(contactFolderName);
}
}

// Check if the app folder exists
private async Task<bool> CheckIfFolderExist(string folderName )
{
bool folderExist = false;
try
{
StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder appDataFolder = await appFolder.GetFolderAsync(folderName);
folderExist = true;
return folderExist;
}
catch (FileNotFoundException ex)
{
return folderExist;
}
}

// Check if the app subfolder exists
private async Task<bool> CheckIfSubFolderExis(string folderName,string subFolderName)
{
bool subFolderExist = false;
try
{
StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder subFolder = await appFolder.GetFolderAsync(subFolderName);
subFolderExist = true;
return subFolderExist;
}
catch (FileNotFoundException ex)
{
return subFolderExist;
}
}

有人有想法吗?

最佳答案

您不能在应用程序数据文件夹中创建文件夹。您必须使用 LocalFolder、RomaingFolder 或 TemporaryFolder(均在 ApplicationData 类中找到)

这样做的原因是支持软件升级等。为什么要保存在 appdata 文件夹中 - 也许我可以建议使用上面最好的文件夹。

关于c# - 在windwos8中创建文件夹访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com