Solved

How to convert a string variable to System.IO.FileStream object in Vb.Net ?

Posted on 2014-09-22
4
768 Views
Last Modified: 2014-09-23
I am working on VS 2012 Environment using Vb.Net Code.

I am reading a .csv file and loading the data to a string variable. Below syntax works fine.


[code]  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

Open in new window


I have to Pass System.IO.FileStream object to this function.  How to convert string variable to FileStream object ?



  Private Function getEncodeType(ByVal theFile As System.IO.FileStream) As System.Text.Encoding
        Dim _enc As System.Text.Encoding = System.Text.Encoding.UTF8
        If (theFile.CanSeek) Then
            Dim bom(4) As Byte
            theFile.Read(bom, 0, 4)
            ' utf-8 
            ' ucs-2le, ucs-4le, and ucs-16le 
            ' utf-16 and ucs-2 
            If (bom(0) = &HEF AndAlso bom(1) = &HBB AndAlso bom(2) = &HBF) OrElse _
               (bom(0) = &HFF AndAlso bom(1) = &HFE) OrElse _
               (bom(0) = &HFE AndAlso bom(1) = &HFF) OrElse _
               (bom(0) = 0 AndAlso bom(1) = 0 AndAlso bom(2) = &HFE AndAlso bom(3) = &HFF) Then
                ' ucs-4 
                _enc = System.Text.Encoding.Unicode
            Else
                _enc = System.Text.Encoding.UTF8
            End If
        End If

        theFile.Seek(0, IO.SeekOrigin.Begin)

        Return _enc
    End Function

Open in new window

0
Comment
Question by:chokka
  • 2
4 Comments
 
LVL 1

Assisted Solution

by:VijayBalkawade
VijayBalkawade earned 250 total points
Comment Utility
There is no conversion. You create a FileStream object and, when you do, you provide a String containing the file path. You're already doing that here:

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

Open in new window

If you want to use that FileStream again then, just as with any object or value, you assign it to a variable and then use that variable.
0
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 250 total points
Comment Utility
If you mean you want to write a string back to a file, you can use

System.IO.File.WriteAllText

function.
0
 

Author Comment

by:chokka
Comment Utility
Okay !! Thank you !!, Looks like i have to create a Temp csv file.
0
 

Author Closing Comment

by:chokka
Comment Utility
Thank you
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now