2016-01-11 8 views
0

Я пытаюсь прочитать определенные строки из текстового файла в массиве (например, строка 16,25,34 и т. Д.). Не могли бы вы сообщить мне, если это возможно, и как это можно сделать?Чтение определенной строки текстового файла в массиве в VB.NET

Спасибо заранее, Pouya

+0

И я хочу начать чтение текстового файла из строки 16 ... – PJS

+1

Что означает _read определенную строку из файла в массиве_? Вы хотите прочитать из файла или из/в массив? Вы можете использовать 'File.ReadAllLines' и обращаться к массиву с указанными индексами. –

+0

Вы читали файл в массив? –

ответ

-1

Да, это возможно. Так как это не основанный на кодексе, будет разработан способ достижения этого. Это зависит от размера вашего целевого файла. Если размер не слишком большой для памяти вашего ПК, тогда вы можете прочитать весь текстовый файл, а чтение - подсчитать.

Затем запустите, когда файл был прочитан, чтобы закончить, чтобы пройти через ваши строки, используя регулярное выражение.

Проверил:

VB.NET Read Certain text in a text file

Ваше решение здесь:

http://www.dreamincode.net/forums/topic/56497-go-to-a-particular-line-in-a-text-file-using-vbnet/

How to read a specific line from a text file in VB

Хорошо, вот я цитировал код, чтобы помочь вам от второго как я уже говорил выше. Я уверен, что вы знаете, как получить данные из массива, поэтому вместо line вы добавите свой массив.

Public Function 
    ReadSpecifiedLine(ByVal line As 
    Integer) As String 
'create a variable to 
hold the contents of the file 

Dim contents As String = String.Empty 
'create a variable to 
hold our line contents 

Dim lineText As String = 
String.Empty 
' always use a 
try...catch to deal 
' with any exceptions 
that may occur 
Try 

'Using lineByLine As New IO.StreamReader(_fileName) 

Dim lineCount As Integer = 0 
While Not lineByLine.EndOfStream 
lineByLine.ReadLine() 
If lineCount = line Then 
    ' you can replace the line variable above or use the And Or to match the lines from your array. 
lineText = lineByLine.ReadLine() 
End If 

lineCount += 1 
End While 
End Using 

Catch ex As FileNotFoundException 
lineText = String.Empty 

_returnMessage = ex.Message 
Catch ex As Exception 

    ' deal with any errors 
_returnMessage = ex.Message 
End Try 
Return lineText 
End Function 

Надеется, что это помогает. (К сожалению некоторых проблемы в коде форматирования какой-то части, может быть, не formeted, или видимым. If End Function не отображается, пожалуйста, обратитесь к ссылке. Я пытался так много раз formet this, но он не правильно встал, я использую мобильный телефон.)

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