繁体   English   中英

Windows metro应用程序 - 在C#中写入和读取文本文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM