使用StreamReader读取.text文件并将其拆分为数组/类

时间:2014-03-28 00:33:35

标签: c#

我需要使用类似StreamReader的内容来读取.text文件并将其吐出到可用于图片查看器和选项框等的数组中。文本文件的布局如下所示:

PhotoURL PAGEURL SKU# Option1 Option2 Option3 .etc

[编辑]: 文本文件的示例
    http://image.com/book.jpg google.com PG52389精装电子书
    http://item.com/shirt.jpg google.com SH34920 Small Medium Large
    ExamplePhotoUrlHere google.com SE39270灰色黑色红色蓝色

并非每个项目都包含每个选项,因此某些列上有一些空白。

我知道我需要使用streamreader来读取文本文件,但是我不确定如何将它拆分为带有数组的类以及所有这些。

2 个答案:

答案 0 :(得分:0)

可能的起点(只是拆分空格):

var linesAsArrays = File.ReadAllLines(absoluteFilePath).Split();

你需要弄清楚“列”是什么意思 - 因为从你的样本中不清楚如何将它们分开。

请注意,找到现有的CSV阅读器可能是更好的选择,而不是发明自己的。

答案 1 :(得分:0)

我不会写一个完整的解决方案,但你可以做这样的事情(未经测试)

char[] separators = { ' ', '\t' };

while(!streamReader.EndOfStream)
{
    string line = streamReader.ReadLine();

    string[] fields = line.Split(separators, 4);

    var result = new
    {
        PhotoUrl = fields[0],
        PageUrl = fields[1],
        Sku = fields[2],
        Options = fields[3].Split(separators),
    };

    // Use result
}