我希望能够有一个类对象列表(List<Class>
),并且能够轻松地写入和读取文本文件。
在我以前使用的控制台应用程序]和Windows窗体应用程序中:
List<Class> _myList = ... WriteToFile<List<Class>>("C:\\...\\Test.txt", Class _myList) public static void WriteToFile<T>(string filePath, T objectToWrite, bool append = false) where T : new() { TextWriter writer = null; try { var serializer = new XmlSerializer(typeof(T)); writer = new StreamWriter(filePath, append); serializer.Serialize(writer, objectToWrite); } finally { if (writer != null) writer.Close(); } }
但是,这在UWP应用程序]中不起作用,我必须使用
StorageFolder
和StorageFile
,它们可以很好地将简单文本写入这样的文件中:
StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder; StorageFile file= await storageFolder.GetFileAsync("Test.txt"); await FileIO.WriteTextAsync(sampleFile, "Example Write Text");
但是我希望能够将
XmlSerializer
和StreamWriter
一起使用更高级的功能,以将类列表写入UWP应用程序中的文件。我该怎么做?
我希望能够有一个类对象列表(List
您可以使用所使用方法的基于Stream
的版本,例如StreamWriter
具有采用System.IO.Stream
实例的构造函数。
要从System.IO.Stream
中获取StorageFile
,可以使用OpenStreamForWriteAsync
和OpenStreamForWriteAsync
扩展方法,它们在UWP的OpenStreamForReadAsync
命名空间中:
OpenStreamForReadAsync