2009-04-03 3 views

Répondre

3

Vous devez ouvrir le fichier de lecture dans chaque ligne pour obtenir le nombre:

var lines = File.ReadAllLines(filename); 
var count = lines.Length; 
7

De MSDN:

int counter = 0; 
string line; 

// Read the file and display it line by line. 
System.IO.StreamReader file = 
    new System.IO.StreamReader("c:\\test.txt"); 
while((line = file.ReadLine()) != null) 
{ 
    Console.WriteLine (line); 
    counter++; 
} 

file.Close(); 
10

Vous pouvez faire:

System.IO.File.ReadAllLines("path").Length 

Modifier

Comme Joe le fait remarquer, j'ai omis toute la gestion des erreurs standard et je n'ai pas montré que vous utiliseriez alors ce même tableau pour traiter le reste de votre code.

+0

upvote pour ReadAllLines, mais je voudrais en fait enregistrer le tableau quelque part car il va en avoir besoin bientôt et vérifier la longueur du tableau sauvegardé. –

+0

J'étais en train d'éditer mettre une clause CYA que j'ai laissé tout cela dehors puis choisir pas trop .. je devrais avoir devrais. Merci – JoshBerke

+0

Soyez juste prudent avec la taille du fichier et ReadAllLines, pourrait rencontrer des problèmes de mémoire. Pas vraiment applicable avec ce Q, car tout le fichier sera lu de toute façon. Mais quelque chose devait normalement être regardé surtout si vous ne contrôlez pas le fichier. – Richard

2

Il peut y avoir un moyen plus efficace pour des fichiers plus volumineux, mais vous pouvez commencer par quelque chose comme:

int l_rowCount = 0; 
string l_path = @"C:\Path\To\Your\File.txt"; 
using (StreamReader l_Sr = new StreamReader(l_path)) 
{ 
    while (l_Sr.ReadLine()) 
     l_rowCount++; 
} 
2

Il serait probablement plus utile pour vous d'ouvrir réellement le fichier, lisez les lignes dans une liste , puis créez votre tableau 2D.

List<string> lines = new List<string>() 

using(System.IO.StreamReader file = new System.IO.StreamReader(fileName)) 
{ 
    while(!file.EndOfStream) lines.Add(file.ReadLine()); 
} 

Vous pouvez alors utiliser votre liste lines pour créer votre tableau.

4
int counter = 0; 
string line; 

System.IO.StreamReader file = new System.IO.StreamReader("c:\\t1.txt"); 
while((line = file.ReadLine()) != null) 
{ 
    counter++; 
} 
file.Close(); 

compteur vous donnera le nombre de lignes. vous pouvez insérer une ligne dans votre tableau aussi bien avec la boucle.

+1

@Mutant: vous obtiendrez plus de upvotes si vous mettez un fichier dans un bloc using. –

-1

pourrait vous aller avec quelque chose de plus exotique comme une déclaration LINQ

Count * de textfile

quelque chose comme ça?