[英]Windows metro apps - write and read text files in 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应用商店应用在此领域受到很大限制。
此链接也很有用:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh758325.aspx
如果您的文件位于assets文件夹中,则可以通过以下方式访问它们:
String path = "ms-appx:///Assets/" + Domain + ".txt";
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(path));
string Value = await FileIO.ReadTextAsync(file);
“但是,它没有指定文本文件将在哪个部分创建,我想在我的应用程序包中创建它,而不是在我的计算机的其他地方创建它,是否可能?”
它实际上是“几乎”唯一可能的东西! 您的应用程序可以显式访问它自己的'LocalFolder'文件夹,'RoamingFolder'位置可以在应用程序实例之间共享,或者'TemporaryFolder'用于丢弃的东西。
如果需要,可以使用Windows.Storage.KnownFolders.pictureLibrary将文件保存到图片库之类的文件中,如果您愿意,可以使用“Windows.ApplicationModel.Package.current.installedLocation”获取对安装文件夹的只读访问权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.