我不能逐行读取文本文件.我该怎么办?

本文关键字:文件 我该怎么办 取文本 读取 不能 逐行 | 更新日期: 2023-09-27 18:05:28

当我从资源文件夹中得到一个文件(例如:a.t txt),而我正在逐行阅读这个文件

这个代码部分(line=reader.Readline())必须读取文件所在行的内容;但是line正在获取一个文件路径。

我想将文件中的所有行添加到列表中。(lines)

******这个项目是关于通用应用程序和**Windows Phone 8.1部分

    List<string> lines = new List<string>();
    public async void LoadFile(string file)
    {
        var InstallationFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
        var _file = await InstallationFolder.GetFileAsync(file);
        byte[] byteArray = Encoding.UTF8.GetBytes(file);
        MemoryStream stream = new MemoryStream(byteArray);
        using (var reader = new StreamReader(stream))
        {
            string line = null;
            while ((line = reader.ReadLine()) != null)
            {
                lines.Add(line);
            }
        }  
    }

我不能逐行读取文本文件.我该怎么办?

您不使用StreamReader读取文件。试一试:

public async void LoadFile(string file)
    {          
        using (var reader = new StreamReader(file))
        {
            string line = null;
            while ((line = reader.ReadLine()) != null)
            {
                lines.Add(line);
            }
        }  
    }

其中file是您的文件路径和名称

var InstallationFolder = await      Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
var _file = await InstallationFolder.GetFileAsync("a.txt");
var content = await Windows.Storage.FileIO.ReadTextAsync(_file);
                        if (content.Contains(word))
                        {
                            lines.Add(word);   
                        }
根据你的建议,我写了下面的代码。然而,我得到了一个错误消息,如"类型的异常'系统。在mscorlib.ni.dll中发生了' ArgumentOutOfRangeException',但没有在用户代码中处理WinRT信息:在目标多字节代码页中不存在Unicode字符的映射。附加信息:在目标多字节代码页中不存在Unicode字符的映射。在目标多字节代码页中不存在Unicode字符的映射。" "在这一点上,我应该做些什么来克服这个问题?