user4786909
user4786909

Reputation:

How to save a txt file to a predetermined location in vb 2010?

Hi i have a textbox which displays a bunch of names on it. The names are within a string called "strNames". I'm trying to have a save button which saves the names as a txt file in a predetermined location. Here is the code for the save button. It creates the file but without the list of names. please help!

Upvotes: 0

Views: 79

Answers (3)

Jaime Ulises Alvarez
Jaime Ulises Alvarez

Reputation: 23

Make sure to use Try/Catch blocks in case any exception occurs during accessing and writing to the file. Also, when you use resources such as Files, make sure to properly dispose of the object that's connected to the resource. Using the 'Using' statement is a great and safe way to do that. Here's an example of both in action.

Sub WriteToFile()
  Dim strNames As String() = {"John", "Jimmy", "Joe"}
  Try
    Using oWriter As New IO.StreamWriter("C:\testFile.txt")
      For Each strName As String In strNames
        oWriter.WriteLine(strName)
      Next
    End Using
  Catch ex As Exception
    HandleException(ex)
  End Try
End Sub

Upvotes: 0

Steve
Steve

Reputation: 216243

Given the fact that your strNames is an array of strings then you could use File.WriteAllLines, no need to use a StreamWriter here

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    File.WriteAllLines("C:\Test.txt", strNames)
End Sub

This has an advantage against the StreamWriter approach if you don't need particular processing to your input array before writing it to file, no foreach around the array strings and also you don't need to encapsulate the StreamWriter in a Using statement to ensure a proper release of the system resources

Upvotes: 1

Shar1er80
Shar1er80

Reputation: 9041

You need to write to the file and then call Close() on the StreamWriter

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim w As IO.StreamWriter
    w = New IO.StreamWriter("C:\Test.txt")
    ' strNames is an array so you have to iterate through the array and write each element
    For Each item As String In strNames
        w.WriteLine(item)
    Next
    w.Close()
End Sub

Upvotes: 0

Related Questions