2012-09-04 63 views
1

我第一次啓動Visual C#(2010 Express),並且爲WindowsFormsApplication創建了一個新項目。還沒有編寫代碼,但是我創建了一個按鈕並將它放在Form1上。然後,我雙擊按鈕,然後轉到代碼部分,在那裏編寫按鈕被按下/單擊時發生的事情。如何將製表符分隔的文件讀入List數組?

我想要做的第一件事是從一個大的製表符分隔的文本文件(30MB)中讀取數據。該文本文件包含7個結構化的數據列,如姓名,年齡,喜歡的顏色,動物等。在文本格式中沒有任何棘手或花哨的東西。我使用的代碼如下:

File.ReadLines(sourceFilePath) 
.Select(line => line.Split('\t')) 
.ToArray(); 

但我更基本的問題是如何建立和定義文件和sourceFilePath?通過上面我得到的代碼「名字‘文件’並沒有在當前的背景下存在

+0

將'using System.IO;'添加到您的表單類以訪問F​​ile類。 – LarsTech

+0

ReadAllLines將創建一個由NewLine(\ r \ n)分隔的混合數組。你想要通過標籤分割它,還是隻通過標籤? –

回答

5

你需要下面的行添加到您的C#文件的頂部:

using System.IO; 

這將使使用File類,這是在System.IO命名空間的。

至於定義sourceFilePath,這只是一個變量,你可以聲明,並設置爲你需要的任何文件路徑,例如

string sourceFilePath = @"c:\data\file.csv"; 

請注意在字符串文字之前使用@;這可以防止反斜槓被視爲轉義序列的開始。你可以改爲躲開冰塊,例如

string sourceFilePath = "c:\\data\\file.csv"; 
0

File類駐留System.IO命名空間。你用下面利用它在你的應用程序:

using System.IO; 

作爲定義sourceFilePath的內容,你將需要要麼硬編碼值,以一個固定的位置,這並不總是可取的,或設計用戶可能通過可用的各種CommonDialog之一來指定該路徑的機制。對CommonDialogs的一些研究應該有助於推動你進一步開發你的項目。

0

如果您想通過TAB鍵來拆分,那麼你可以嘗試使用ReadAllText方法,然後拆分方法,這裏定義的分隔符(由製表):

string[] delimitedByTab = File.ReadAllText(@"file").Split('\t').ToArray(); 

並使用System.IO; File類的名稱空間

相關問題