2014-09-23 3 views
0

Я работаю над VS 2012 Environment, используя VB.Net (.Net 4.0).Как преобразовать строковую переменную в объект System.IO.FileStream?

Я читаю CSV-файл и загружаю данные в строковую переменную. Мой синтаксис отлично работает. Я должен сделать это, просто чтобы избежать возврата каретки (CR), встроенного в конец строки.

Теперь я пытаюсь применить переменную к объекту System.IO.FileStream.

Dim reader As StreamReader = New System.IO.StreamReader(File.OpenRead("D:\CSV\Test.csv")) 
     Dim listA As New List(Of String)() 
     Dim listB As New List(Of String)() 
     Dim s As String = "" 
     While Not reader.EndOfStream 
      Dim line As String = reader.ReadLine() 
      Dim values As String() = line.Split(";"c) 
      listA.Add(values(0)) 
      s = s + line + Chr(10) 
     End While 

Я должен передать объект System.IO.FileStream к другой существующей функции, которая преобразуется в массив байтов.

Private Function getEncodeType(ByVal theFile As System.IO.FileStream) As System.Text.Encoding 

' This function converts the File Stream to Byte. 
' Function works fine. 

End Function 

Как преобразовать строку в объект System.IO.FileStream?

+1

Не помещайте свой вопрос C#, если он не имеет ничего общего с C#. – jmcilhinney

+0

Используйте 'StringBuilder' для конкатенации строк в CSV, поскольку строка является неизменной. В противном случае, если это VB.Net, вы используете '&', а не '+', чтобы объединить строки ... –

ответ

2

Нет конвертации. Вы создаете объект FileStream, и когда вы это делаете, вы предоставляете String, содержащий путь к файлу. Вы уже делаете, что здесь:

File.OpenRead("D:\CSV\Test.csv") 

Если вы хотите использовать что FileStream снова тогда, так же, как с любым объектом или значением, присвоить его переменной, а затем использовать эту переменную.

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