Jor*_*año 18 c# windows-8 windows-runtime
我StreamWriter在windows-8中创建对象时遇到了麻烦,通常我只是创建一个实例,只是将一个字符串作为参数传递,但是在Windows 8中我得到一个错误,表明它应该接收一个Stream,但我注意到了Stream是一个抽象类,有谁知道编写一个xml文件的代码怎么样?BTW我正在使用.xml因为我想保存序列化对象,或者有人知道如何将序列化对象保存到文件中Windows 8?
有任何想法吗?
目前正在使用Windows 8 Consumer Preview
码:
StreamWriter sw = new StreamWriter("person.xml");
错误:
The best overloaded method match for 'System.IO.StreamWriter.StreamWriter(System.IO.Stream)' has some invalid arguments
Fil*_*kun 27
而不是StreamWriter你会使用这样的东西:
StorageFolder folder = ApplicationData.Current.LocalFolder;
StorageFile file = await folder.CreateFileAsync();
using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
using (IOutputStream outputStream = fileStream.GetOutputStreamAt(0))
{
using (DataWriter dataWriter = new DataWriter(outputStream))
{
//TODO: Replace "Bytes" with the type you want to write.
dataWriter.WriteBytes(bytes);
await dataWriter.StoreAsync();
dataWriter.DetachStream();
}
await outputStream.FlushAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以查看WinRTXamlToolkit库中的StringIOExtensions类以供使用.
编辑*
虽然以上所有内容都应该有效 - 它们是FileIO在WinRT中可用的类之前编写的,这简化了上述解决方案解决的大多数常见场景,因为您现在只需调用await FileIO.WriteTextAsync(file, contents)将文本写入文件,并且还有类似的方法可以读取,写或附加字符串,字节,字符串列表或IBuffers.
| 归档时间: |
|
| 查看次数: |
21260 次 |
| 最近记录: |