3

创建文本文件:

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);

但是,它没有指定将在哪个部分创建文本文件,我想在我的应用程序包中创建它,而不是在我的计算机的其他地方,这可能吗?

其次,当我再次执行第二个代码时,我希望我的文件被写成“写这个写这个”,而不是替换旧文件并创建另一个。

4

3 回答 3

2

如果您的文件在 assets 文件夹中,那么您可以通过以下方式访问它们:

String path = "ms-appx:///Assets/" + Domain + ".txt";
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(path));
string Value = await FileIO.ReadTextAsync(file);
于 2013-03-31T11:34:14.327 回答
2

你应该使用

StorageFolder localFolder = ApplicationData.Current.LocalFolder;

因为其他文件夹(例如安装文件夹)受到限制,不允许进行读写操作。Windows Store 应用程序在这方面受到很大限制。

这个链接也很有用:

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh758325.aspx

于 2012-11-30T12:00:44.100 回答
0

“但是,它没有指定将在哪个部分创建文本文件,我想在我的应用程序包中创建它,而不是在我计算机的其他地方,这可能吗?”

这实际上是“几乎”唯一可能的事情!您的应用程序可以显式访问它自己的“LocalFolder”文件夹、“RoamingFolder”位置(可以在应用程序实例之间共享)或“TemporaryFolder”用于被丢弃的东西。

如果需要,您可以使用 Windows.Storage.KnownFolders.pictureLibrary 将文件保存到图片库之类的东西,如果您愿意,可以使用“Windows.ApplicationModel.Package.current.installedLocation”获得对安装文件夹的只读访问权限。

于 2012-11-30T12:21:12.573 回答