我正在尝试将字符串数据写入Windows Phone 8应用程序中的文本文件,但文本文件不会更新。
我正在写下面的代码
public void update_file(Contact_List[] list) //Write to file
{
using (FileStream fs = new FileStream(@"contact_list.txt", FileMode.Open))
{
using (StreamWriter sw = new StreamWriter(fs))
{
for (int x = 0; x < list.Length; x++)
{
sw.WriteLine(list[x].first_name);
sw.WriteLine(list[x].last_name);
sw.WriteLine(list[x].number);
sw.WriteLine(list[x].email);
sw.WriteLine(list[x].company);
sw.WriteLine(list[x].favorite);
sw.WriteLine(list[x].group);
}
sw.Close();
}
fs.Close();
}
}
其中Contact_List是我的自定义结构,其中包含以下字符串:
程序本身可以在没有任何错误的情况下运行,包括读取,甚至在程序期间,写入的内容可以显示在列表框中,但写入的内容永远不会在实际文件中更新。
阅读部分如下
public class All_Contact : common_func //Counting number of lines in the file
{
public int count_lines()
{
int counter = 0;
var str = Application.GetResourceStream(new Uri(@"contact_list.txt", UriKind.Relative));
StreamReader sr = new StreamReader(str.Stream);
while (sr.ReadLine() != null)
{
counter++;
}
sr.Close();
sr.Dispose();
str.Stream.Close();
str.Stream.Dispose();
return counter;
}
public string[][] read_content (int ln) //Read and pick up the actual contents
{
string[][] temp = null;
int lines = ln;
temp = new string[lines / 7][];
var str = Application.GetResourceStream(new Uri(@"contact_list.txt", UriKind.Relative));
StreamReader sr = new StreamReader(str.Stream);
for (int x = 0; x < (lines / 7); x++)
{
temp[x] = new string[7];
for (int y = 0; y < 7; y++)
{
temp[x][y] = sr.ReadLine();
}
}
sr.Close();
sr.Dispose();
str.Stream.Close();
str.Stream.Dispose();
return temp;
}
我对使用Windows Phone 8应用程序进行编程非常陌生,所以我不知道后台的工作原理如何,因此我们将不胜感激。
谢谢