Ear*_*rlz 4 c# file-io windows-runtime windows-phone-8
我只需要使用Windows.Storage API简单地写入文件并从Windows Phone 8中的文件读取.使用旧的IsolatedStorage方法相对容易,但使用新的WinRT API证明它更加困难.
我一直试图写它,但似乎有所有这些奇怪的东西,如IBuffer.等等.使用WinRT的完整版本,使用Windows.Storage.FileIO非常容易,它似乎存在,以防止像我这样的开发人员疯狂.但是,它没有在电话版本中实现.此外,我观看了一个Channel9视频,其中显示了一些代码示例,但是他们有一个错误,因为他们使用标记为Security Critical的方法获得常规流.显然不允许获得常规流.
那么,有人能为我提供一个简洁而正确的片段,介绍如何将文件读入字符串以及如何将字符串写入文件,并使用正确的使用和处理技术吗?
Mat*_*cey 13
这是一个简单的例子:
public async Task WriteDataToFileAsync(string fileName, string content)
{
byte[] data = Encoding.Unicode.GetBytes(content);
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
using (var s = await file.OpenStreamForWriteAsync())
{
await s.WriteAsync(data, 0, data.Length);
}
}
public async Task<string> ReadFileContentsAsync(string fileName)
{
var folder = ApplicationData.Current.LocalFolder;
try
{
var file = await folder.OpenStreamForReadAsync(fileName);
using (var streamReader = new StreamReader(file))
{
return streamReader.ReadToEnd();
}
}
catch (Exception)
{
return string.Empty;
}
}
Run Code Online (Sandbox Code Playgroud)
像这样使用它们:
await this.WriteDataToFileAsync("afile.txt", "some text to save in a file");
var contents = await this.ReadFileContentsAsync("afile.txt");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19430 次 |
| 最近记录: |