在Windows 8 app dev上创建实验室。我无法加载所需的所有图像。因此,为了共享部分使用共享图像,我需要检查图像文件是否可用。 该项目是一个使用XAML和C#的Windows网格应用程序 过去我用过
Using System.IO
... lost of code
privat void share()
....
if (File.exist(filename)
{
add file to share
}
如果我在window8项目中尝试这个。找不到File类。
我搜索互联网但找不到代码示例来检查C#中的windowsstore应用程序是否存在
米希尔
答案 0 :(得分:13)
您需要StorageFile而不是File
这是检查和获取文件的简单示例
StorageFile file;
try {
file = await ApplicationData.Current.LocalFolder.GetFileAsync("foo.txt");
}
catch (FileNotFoundException) {
file = null;
}
你可以写一个函数
public static async Task<bool> FileExistsAsync(this StorageFolder folder, string fileName)
{
try
{
await folder.GetFileAsync(fileName);
return true;
}
catch (FileNotFoundException)
{
return false;
}
}
答案 1 :(得分:2)
如果您知道本地存储中的路径并且要检查一堆文件,则可以执行以下操作...
var sourceFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
sourceFolder = await sourceFolder.GetFolderAsync("Assets");
var files = await sourceFolder.GetFilesAsync();
var requiredFiles = new List<String> { "ThisWorks.png", "NotHere.png" };
foreach(var filename in requiredFiles)
{
// your example logic here...
Debug.WriteLine(filename + " " + (files.Any(f => f.Name == filename) ? "Exists" : "Doesn't exist"));
}