Windows metro应用程序 - 在C#中编写和读取文本文件?
创建文本文件:Windows metro应用程序 - 在C#中编写和读取文本文件?
var myFile = "test";
var folderUsed = Windows.Storage.ApplicationData.Current.LocalFolder;
var fileOption = Windows.Storage.CreationCollisionOption.ReplaceExisting;
var createdFile = await folderUsed.CreateFileAsync(myFile, fileOption);
写入字符串将创建的文本文件:
var writeThis = "write this ";
await Windows.Storage.FileIO.WriteTextAsync(createdFile, writeThis);
但是,它并没有指定哪个部分文本文件将被创建,我想在我的应用程序包中创建它,而不是在我的计算机中的其他位置创建它,这有可能吗?
其次,当我再次执行第二代码,我想我的文件,写成“写这篇文章写这个”,而不是取代旧的文件并创建另一个。
您应该使用
StorageFolder localFolder = ApplicationData.Current.LocalFolder;
因为其他文件夹,如安装文件夹
受到限制,不允许读写操作。 Windows Store应用程序在这方面相当有限。
这个环节也很有用:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh758325.aspx
“不过,这并没有指定哪个部分文本文件将被创建,我想创建它的包我的应用程序内,而不是在我的电脑的其他地方,这有可能吗?“
它实际上是“几乎”唯一可能的!你的应用程序可以明确地访问它自己的'LocalFolder'文件夹,'RoamingFolder'位置,它可以在应用程序实例之间共享,或者'TemporaryFolder'可以被放弃。
如果您愿意,您可以使用Windows.Storage.KnownFolders.pictureLibrary将文件保存为图片库之类的内容,并且如果您使用“Windows.ApplicationModel.Package.current.installedLocation”,则可以只读访问您的安装文件夹所以愿意。
如果你的文件在资产文件夹,然后您可以通过访问它们:
String path = "ms-appx:///Assets/" + Domain + ".txt";
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(path));
string Value = await FileIO.ReadTextAsync(file);
如何获得'Domain'? – testing
你是什么意思与“创建它的包我的应用程序的内部”?你的意思是应用程序已安装的文件夹? –
您是否尝试将它们放置在资产文件夹中? –