首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Blazor中读取文件

在Blazor中读取文件
EN

Stack Overflow用户
提问于 2022-05-20 16:41:46
回答 1查看 375关注 0票数 0

我正在使用blazor组件,我希望我的模型从我的示例数据文件夹中读取一个.tsv或.csv文件。我知道我可以用

代码语言:javascript
复制
protected override async Task OnInitializedAsync()
    {
        fileName = await Http.GetStringAsync("sample-data/randomFile.tsv");
    }

但是,它会以字符串的形式出现,我不能使用像.ReadAllLines()这样的文件读取器函数。如何才能按原样访问该文件?

编辑:我意识到我可以将它作为字符串传递并解析该字符串。现在的问题是,字符串不能到达模型。

代码语言:javascript
复制
@code {
    static string fileName = "this \n is \n a \n test";
    protected override async Task OnInitializedAsync()
    {
        fileName = await Http.GetStringAsync("sample-data/22_AB9_CL_0228.tsv");
    }
    string[,] table = FileReader.ConvertToMatrix(fileName, "sample-data/randomFile.tsv");
}

模型接收“此\n是\n \n测试”

EN

回答 1

Stack Overflow用户

发布于 2022-05-23 04:24:24

StringReader类在System.IO中可以使用CR或CRLF分隔符解析字符串。

代码语言:javascript
复制
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("https://filesamples.com/samples/document/csv/sample2.csv");
string fileContent = await response.Content.ReadAsStringAsync(); // This method looks at content-type header to find how string is encoded (UTF8, ASCII, ...)
using (StringReader sr = new StringReader(fileContent))
{
    string? line = null;
    while ((line = sr.ReadLine())!=null)
    {
        string[] items = line.Split(",");
        // Process the items
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72322217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档