阅读从Windows Phone 7的文件(Read a file from Windows Pho

2019-06-27 08:39发布

我有一个名为一个文件夹data/在我的项目包含txt files

我配置Build Action ,以resources的所有文件。

我尝试这些不同的方法:

方法1

var resource = Application.GetResourceStream(new Uri(fName, UriKind.Relative));
StreamReader streamReader = new StreamReader(resource.Stream);
Debug.WriteLine(streamReader.ReadToEnd());

方法2

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
string[] fileNames = myIsolatedStorage.GetFileNames("*.txt");

方法3

using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
   using (StreamReader fileReader = new StreamReader(new IsolatedStorageFileStream(fName, FileMode.Open, isf)))
   {
      while (!fileReader.EndOfStream)
      {
        string line = fileReader.ReadLine();
        al.Add(line);
        Debug.WriteLine(line);
      }
   }
}

现在,我尝试不同的方法来读取没有成功,为什么文件?
问题出在哪儿?

有什么不对这些方法?

fName是文件的名称。
这是必要的完整路径数据/ FILENAME.TXT? 这是无所谓...

请帮助我这个愚蠢的问题,
谢谢。

Answer 1:

你的2楼和3方法是错误的。 当您在您的应用程序包括本地的文本文件,你无法通过IS参考它。 取而代之的是,使用这个功能,如果发现另外返回它会返回文件内容"null" 。 它为我,希望它为你工作。

请注意,如果文件被设置为内容,文件路径= "data/filename.txt"但如果它被设置为资源就应该像这样文件路径=被称为"/ProjectName;component/data/filename.txt" 。 这可能是为什么你第一次的做法可能失败。

    private string ReadFile(string filePath)
    {
        //this verse is loaded for the first time so fill it from the text file
        var ResrouceStream = Application.GetResourceStream(new Uri(filePath, UriKind.Relative));
        if (ResrouceStream != null)
        {
            Stream myFileStream = ResrouceStream.Stream;
            if (myFileStream.CanRead)
            {
                StreamReader myStreamReader = new StreamReader(myFileStream);

                //read the content here
                return myStreamReader.ReadToEnd();
            }
        }
        return "NULL";
    }


文章来源: Read a file from Windows Phone 7