我想创建一个文件,保存数据然后向它添加一些信息(例如,下次启动应用程序时)。我正在使用此代码:
IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Append, FileAccess.Write, myStore))
{
//Write the data
using (var isoFileWriter = new StreamWriter(isoFileStream))
{
isoFileWriter.WriteLine(m.Author + "|" + m.Receiver + "|" + m.Text + "|" + m.Date + "\r\n");
}
}
但它不起作用:/只保存了第一行 - 我想要添加到创建文件的任何内容都无处可去o_O我也试过这种方法:
using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Open, myStore))
{
// Read the data.
using (var isoFileReader = new StreamReader(isoFileStream))
{
data = isoFileReader.ReadLine();
}
}
验证文件我使用了另一个类和IsoStoreSpy应用程序。 请帮忙。
答案 0 :(得分:2)
使用您的代码,附加工作正常。但是要读取所有行,你必须迭代它们,否则你只读第一行:
while (!isoFileReader.EndOfStream)
{
string line = isoFileReader.ReadLine();
System.Diagnostics.Debug.WriteLine(line);
}
经过测试和工作。在编写一行时,您不需要附加新行(“\ r \ n”)。 WriteLine
会为你做这件事。