Windows Phone从文本文件中读取

本文关键字:读取 文件 文本 Phone Windows | 更新日期: 2024-09-12 14:26:48

我正在编写一个应用程序,它从文本文件中读取数据,并将其用作应用程序的基础。这只是一个简单的文本文件,包含程序所需的几行数据。我已经将文本文件作为项目的一部分包含在visualstudio中。然而,当我尝试运行该应用程序并使用StreamReader读取文本文件时,它会抛出一个错误:

"System.MethodAccessException:安全透明方法"App.MainPage.ctor()"尝试访问安全关键方法"System.IO.File.Exists(System.String)"失败。在System.IO.File.Exists(字符串路径)"

这个文本文件对应用程序的功能非常重要。当人们下载它并直接从应用程序中读取它时,我有什么方法可以将它包含在XAP中吗?

Windows Phone从文本文件中读取

以下是从wp7应用程序中的解决方案读取文本文件的解决方案。

  1. 复制解决方案中的文本文件。

  2. 右键单击->属性

  3. 现在将"生成操作"设置为"资源"。

    System.IO.Stream src = Application.GetResourceStream(new Uri("solutionname;component/text file name", UriKind.Relative)).Stream;
                using (StreamReader sr = new StreamReader(src))
                  {
                     string text = sr.ReadToEnd();
                  }
    

您可以使用IsolatedStorageFile类访问Windows Phone应用程序中的文本文件。要读取它,请打开一个新的FileStream。然后,您可以使用该FileStream创建StreamReader或StreamWriter。

以下代码访问IsolatedStorageFile并打开一个新的StreamReader来读取内容。

        using (IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForApplication())
        {
            //To read
            using (StreamReader r = new StreamReader(f.OpenFile("settings.txt", FileMode.OpenOrCreate)))
            {
                string text = r.ReadToEnd();
            }
            //To write
            using (StreamWriter w = new StreamWriter(f.OpenFile("settings.txt", FileMode.Create)))
            {
                w.Write("Hello World");
            }
        }