2015-10-27 4 views
0

Я хочу получить счетчик определенной строки в .NET. В настоящее время я использую следующий код: -Определить количество строк определенной строки из текстового файла в .NET.

Do While sr.Peek >= 1 
       sr.ReadLine() 
       NumberOfLines += 1 
      Loop 

Есть ли какой-либо другой способ сделать это, как я хочу, чтобы избежать зацикливания.

+0

Просьба уточнить, что вы на самом деле нужно. Является ли это числом строк определенной строки, если да, то каковы критерии для поиска этой строки? –

+0

Нет. Вам нужно петлировать, чтобы читать несколько строк. В чем проблема с циклом? – Enigmativity

ответ

1

Предполагая, что вы имеете позицию в файле вы можете сделать это:

Dim pos As Integer = 10 
Dim subStr As String = System.IO.File.ReadAllText("C:\\path\\x.txt").Substring(0, pos) 
Dim lineNo As Integer = subStr.Split(vbCrLf).Count 

Если вы не имеете позицию, но у вас есть содержание вашей линии вы можете сделать ниже. Обратите внимание: если строки выглядят одинаково, вы всегда найдете первую строку.

Dim content As String = System.IO.File.ReadAllText("C:\\...\\x.txt") 
Dim pos As Integer = content.IndexOf("<<the content of your line goes here>>") 
Dim lineNo As Integer = content.Substring(0, pos).Split(vbCrLf).Count 

Чтобы получить общее количество строк в файле:

Dim lines As Integer = System.IO.File.ReadAllLines("C:\\...path...\\x.txt").Length 
+0

Используется для определения общего количества. строк в текстовом файле. Я хочу найти строку no определенной строки. – Aditi

+0

Работает ли какая-либо из двух новых альтернатив? –

+0

@Aditi, вы хотите найти конкретную строку? Если да, то чем? – pordi

Смежные вопросы