如何在Windows 8中读取应用程序附带的文件Metro
我有一个随应用程序一起提供的文本文件,我希望在屏幕上显示其内容。任何人都知道如何做到这一点?通常的文件IO似乎不适用于Metro。如何在Windows 8中读取应用程序附带的文件Metro
感谢
不知道你已经尝试过什么,但检查了这一点:
在手的StorageFolder,你有一整套的功能来读取/写入文件。
在我的应用我读自带的应用程序一个XML文件,你可以调整它来读取任何类型的文件
public class LocalStorage
{
private const string SyndicationFeedCategoriesFileName = "FeedCategories.xml";
private StorageFile _storageFile;
private StorageFolder _storageFolder;
public async Task<XmlDocument> Read_categories_from_disk()
{
try
{
_storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Xml");
_storageFile = await _storageFolder.GetFileAsync(SyndicationFeedCategoriesFileName);
var loadSettings = new XmlLoadSettings
{ProhibitDtd = false, ResolveExternals = false};
return await XmlDocument.LoadFromFileAsync(_storageFile, loadSettings);
}
catch (Exception)
{
return null;
}
}
}
查看这里的全部源代码http://metrorssreader.codeplex.com/SourceControl/changeset/view/18233#263004
希望帮助
是的,该示例中最重要的部分是Package.Current.InstalledLocation。这取代了Silverlight和Windows Phone中的Assembly.GetManifestResourceStream。 – 2012-07-30 19:53:25
@Zubair艾哈迈德:我得到'System.UnauthorizedAccessException',同时从安装位置访问文件如何解决它? – Mahantesh 2012-09-06 12:57:01
也可以使用URL如ms-appx://foo.jpg – 2012-07-29 01:46:17
@mleroy:当从Installed位置访问文件时,我得到'System.UnauthorizedAccessException'如何解决它? – Mahantesh 2012-09-06 12:56:44
@Mahantesh:我想你应该发布更多关于你如何访问文件的细节。你有没有在官方文档中找到你想要做的事情? – siger 2012-09-06 17:16:28