2014-03-28 77 views
-2

我需要使用类似StreamReader的东西来读取.text文件并将其吐出到可用于图片查看器和选项框等的数组中。文本文件的布局是这样的:使用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小中大
ExamplePhotoUrlHere谷歌的 例子.com SE39270灰色黑色R ed蓝色

不是每个项目都有每个选项,所以某些列上有一些空白。

我知道我需要使用streamreader来读取文本文件,但我不知道如何将它分成一个类与数组和所有的。

+0

如果控制文件的格式,XML序列化会更加容易。如果不是与现有答案分开。 – BradleyDotNET

回答

0

可能的出发点(只在拆分空格):

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

你需要弄清楚什么是“列”的意思 - 因为你的样品还不清楚如何分别出来。

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

+0

谢谢,每一列由一个标签或一个空格分开。该文本文件有数百个项目,我需要将它显示到一个应用程序中,然后可以抓取该应用程序,让我们说PhotoURL数组,然后在下拉菜单中选择它时创建并将其显示在PictureBox中。 – kelpjuice

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 
} 
相关问题