C# Windows Phone 8.1-不使用用户界面从文档文件夹读取文件

C# Windows Phone 8.1-不使用用户界面从文档文件夹读取文件,c#,windows-phone-8,windows-phone-8.1,windows-phone,C#,Windows Phone 8,Windows Phone 8.1,Windows Phone,我正在运行Windows Phone 8.1应用程序,我希望在启动时从存储在“C:\Data\Users\Public\Documents\file.txt”中的文本文件中获取一些值 我不想为此打开UI,应用程序应该在没有用户干预的情况下完成。该位置在我的应用程序之外(即C:\Data…) 我该怎么做 例如: Uri uri = new Uri(@"C:\Data\Users\Public\Documents\test.txt"); var f = awaitWindows.Storage.St

我正在运行Windows Phone 8.1应用程序,我希望在启动时从存储在“C:\Data\Users\Public\Documents\file.txt”中的文本文件中获取一些值

我不想为此打开UI,应用程序应该在没有用户干预的情况下完成。该位置在我的应用程序之外(即C:\Data…)

我该怎么做

例如:

Uri uri = new Uri(@"C:\Data\Users\Public\Documents\test.txt");
var f = awaitWindows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);

不起作用。它给出了一个例外情况:
Message=“值不在预期范围内。”

您将无法在windows phone应用程序中访问该文件夹。而是将文件存储在应用程序的本地文件夹中,然后在其上使用流阅读器。这是我在应用程序中使用的内容:

// RETURN ROWS IN TEXT FILE AS STRING ARRAY
public static async Task<string[]> getData(string fileName)
{
    var myStream = await (await Package.Current.InstalledLocation.GetFolderAsync("MyFolder")).OpenStreamForReadAsync(fileName);
    using (var streamReader = new StreamReader(myStream))
        return streamReader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
}
//将文本文件中的行作为字符串数组返回
公共静态异步任务getData(字符串文件名)
{
var myStream=await(await Package.Current.InstalledLocation.GetFolderAsync(“MyFolder”)).OpenStreamForReadAsync(文件名);
使用(var streamReader=newstreamreader(myStream))
返回streamReader.ReadToEnd().Split(新字符串[]{Environment.NewLine},StringSplitOptions.None);
}

您将无法在windows phone应用程序中访问该文件夹。而是将文件存储在应用程序的本地文件夹中,然后在其上使用流阅读器。这是我在应用程序中使用的内容:

// RETURN ROWS IN TEXT FILE AS STRING ARRAY
public static async Task<string[]> getData(string fileName)
{
    var myStream = await (await Package.Current.InstalledLocation.GetFolderAsync("MyFolder")).OpenStreamForReadAsync(fileName);
    using (var streamReader = new StreamReader(myStream))
        return streamReader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
}
//将文本文件中的行作为字符串数组返回
公共静态异步任务getData(字符串文件名)
{
var myStream=await(await Package.Current.InstalledLocation.GetFolderAsync(“MyFolder”)).OpenStreamForReadAsync(文件名);
使用(var streamReader=newstreamreader(myStream))
返回streamReader.ReadToEnd().Split(新字符串[]{Environment.NewLine},StringSplitOptions.None);
}

只需使用
GetFolderFromPathAsync
获取文件所在的文件夹,然后使用
GetFileAsync
从该文件夹获取文件。之后,您可以使用
ReadTextAsync
方法读取其所有内容。希望这有帮助

public static async Task<string> ReadFile()
{
  StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(ApplicationData.Current.LocalFolder.Path + "\\" + "YourFolderName");
  StorageFile file = await folder .GetFileAsync("yourfile.txt");
  string text = await Windows.Storage.FileIO.ReadTextAsync(file);
  return text;
}
公共静态异步任务ReadFile()
{
StorageFolder folder=等待StorageFolder.GetFolderFromPathAsync(ApplicationData.Current.LocalFolder.Path+“\\”+“YourFolderName”);
StorageFile file=await folder.GetFileAsync(“yourfile.txt”);
string text=wait Windows.Storage.FileIO.ReadTextAsync(文件);
返回文本;
}

只需使用
GetFolderFromPathAsync
获取文件所在的文件夹,然后使用
GetFileAsync
从该文件夹获取文件。之后,您可以使用
ReadTextAsync
方法读取其所有内容。希望这有帮助

public static async Task<string> ReadFile()
{
  StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(ApplicationData.Current.LocalFolder.Path + "\\" + "YourFolderName");
  StorageFile file = await folder .GetFileAsync("yourfile.txt");
  string text = await Windows.Storage.FileIO.ReadTextAsync(file);
  return text;
}
公共静态异步任务ReadFile()
{
StorageFolder folder=等待StorageFolder.GetFolderFromPathAsync(ApplicationData.Current.LocalFolder.Path+“\\”+“YourFolderName”);
StorageFile file=await folder.GetFileAsync(“yourfile.txt”);
string text=wait Windows.Storage.FileIO.ReadTextAsync(文件);
返回文本;
}

您不能从
应用程序文件夹
访问其他文件。您不能从
应用程序文件夹
访问其他文件。