2014-03-28 110 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 
} 
相關問題