2013-04-23 277 views
-6

需要一些函數,它會返回帶有txt文件行的List(例如從10行到25行)。 任何解決方案?我所有的嘗試都遇到了失敗。從行到列表讀取txt文件?

+3

後你的代碼所以我們可以看到你在做什麼。 – Stephen 2013-04-23 08:49:34

回答

4
// Retrieve 10 lines from Somefile.txt, starting from line 1 
string filePath = "C:\\Somefile.txt"; 
int startLine = 1; 
int lineCount = 10; 
var fileLines = System.IO.File.ReadAllLines(filePath) 
       .Skip((startLine-1)) 
       .Take(lineCount); 
7

您可以使用它列舉了文件中的行LINQ和File.ReadLines(在內部它使用StreamReader):

List<string> lines = File.ReadLines(path).ToList(); 
5

你可以這樣做:

List<string> fileLines = new List<string>(); 

using (var reader = new StreamReader(fileName)) 
{ 
    string line; 
    while ((line = r.ReadLine()) != null) 
    { 
     fileLines.Add(line); 
    } 
} 
0
List<string> lines = File.ReadLines().ToList(); 
for(int i = 0; i < lines.Count; i++){ 
if(i >= startline && i <= endline) LinesFromStartToEnd.Add(lines[i]);// same string list 
} 
0

如果文件不是太大,你可以使用LINQ做到這一點:

int start = 10; 
int end = 25;  
List<string> lines = File.ReadLines(path).Skip(start - 1).Take(end - start + 1).ToList(); 
+0

文件有100萬行) – oczxn 2013-04-23 09:37:24