无法读取地铁应用中的文本文件

本文关键字:文本 文件 应用 读取 地铁 | 更新日期: 2023-09-27 18:33:31

我可以第一次读取文本文件。 当我下次尝试读取相同的文本文件时,它会退出函数并返回 null 值。

    static string configData = "";
    async public void readtextFile(string folder, string file)
    {
        StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(folder);
        StorageFile storageFile = await storageFolder.GetFileAsync(file);
        configData = await FileIO.ReadTextAsync(storageFile);
    }

请建议我,如何解决这个问题。

谢谢谢赫阿卜杜拉

无法读取地铁应用中的文本文件

不要忘记readtextFile是一个异步方法。当你调用它时,它实际上在到达第一个await时返回,所以此时configData尚未设置。您应该从方法返回值,并等待该方法:

async public Task<string> readtextFile(string folder, string file)
{
    StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(folder);
    StorageFile storageFile = await storageFolder.GetFileAsync(file);
    string configData = await FileIO.ReadTextAsync(storageFile);
    return configData;
}
...
string configData = await readTextFile(folder, file);

即使要将configData存储在字段中,在读取值之前仍需要await readtextFile