Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. Working with StreamReader/Writer

Working with StreamReader/Writer

Scheduled Pinned Locked Moved Visual Basic
questionhelptutorial
15 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Taen_Karth

    Well that sure makes sense!...hehe My RTF box IS in fact gettnig all the text, What is happening is that when it gets to the line: IO.File.Delete(fileName) It states that it cannot perform the action because the file requested is still in use. Loop removed.

    Thanks, Taen Karth

    S Offline
    S Offline
    Stephen McGuire
    wrote on last edited by
    #4

    You don't have the file open in another app do you? Notepad or Word etc? Steve

    T 1 Reply Last reply
    0
    • S Stephen McGuire

      You don't have the file open in another app do you? Notepad or Word etc? Steve

      T Offline
      T Offline
      Taen_Karth
      wrote on last edited by
      #5

      Nope. :confused:

      Thanks, Taen Karth

      S 1 Reply Last reply
      0
      • T Taen_Karth

        Nope. :confused:

        Thanks, Taen Karth

        S Offline
        S Offline
        Stephen McGuire
        wrote on last edited by
        #6

        You only have 'filname' for the file to delete. Shouldn't this be 'path & filename'? If you are always going to delete the file anyway, you don't have to check whether it exists first. Just code for deleting the file. An exception will not be generated if the file doesn't exist... Then try using the CreateText method of the IO.File class. What is that Me.Dispose() supposed to be doing? Steve -- modified at 15:26 Monday 14th August, 2006

        S T 2 Replies Last reply
        0
        • S Stephen McGuire

          You only have 'filname' for the file to delete. Shouldn't this be 'path & filename'? If you are always going to delete the file anyway, you don't have to check whether it exists first. Just code for deleting the file. An exception will not be generated if the file doesn't exist... Then try using the CreateText method of the IO.File class. What is that Me.Dispose() supposed to be doing? Steve -- modified at 15:26 Monday 14th August, 2006

          S Offline
          S Offline
          Stephen McGuire
          wrote on last edited by
          #7

          Put your StreamWriter contstructor AFTER your File.Create line. I think this is holding the file open. You should only put this after you have created the file! Steve -- modified at 15:37 Monday 14th August, 2006

          1 Reply Last reply
          0
          • S Stephen McGuire

            You only have 'filname' for the file to delete. Shouldn't this be 'path & filename'? If you are always going to delete the file anyway, you don't have to check whether it exists first. Just code for deleting the file. An exception will not be generated if the file doesn't exist... Then try using the CreateText method of the IO.File class. What is that Me.Dispose() supposed to be doing? Steve -- modified at 15:26 Monday 14th August, 2006

            T Offline
            T Offline
            Taen_Karth
            wrote on last edited by
            #8

            Ok tried that and still getting this error message:

            The process cannot access the file 'C:\Documents and Settings\troy\Desktop\Projects\ChangeLogger\ChangeLogger\bin\Debug\ChangeLog.txt' because it is being used by another process.

            This is what the "Save" event looks like now: Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSave.Click Dim Sw As New IO.StreamWriter(path & fileName, False) IO.File.Delete(path & fileName) IO.File.CreateText(path & fileName) Sw.WriteLine(vbCrLf & MyString & vbCrLf & rtSummary.Text) Sw.Flush() Sw.Close() Me.Dispose() End Sub Any ideas? btw thanks for the suggestions so far!

            Thanks, Taen Karth

            S 1 Reply Last reply
            0
            • T Taen_Karth

              Ok tried that and still getting this error message:

              The process cannot access the file 'C:\Documents and Settings\troy\Desktop\Projects\ChangeLogger\ChangeLogger\bin\Debug\ChangeLog.txt' because it is being used by another process.

              This is what the "Save" event looks like now: Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSave.Click Dim Sw As New IO.StreamWriter(path & fileName, False) IO.File.Delete(path & fileName) IO.File.CreateText(path & fileName) Sw.WriteLine(vbCrLf & MyString & vbCrLf & rtSummary.Text) Sw.Flush() Sw.Close() Me.Dispose() End Sub Any ideas? btw thanks for the suggestions so far!

              Thanks, Taen Karth

              S Offline
              S Offline
              Stephen McGuire
              wrote on last edited by
              #9

              The StreamWriter constructor must be moved to here: Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSave.Click IO.File.Delete(path & fileName) IO.File.CreateText(path & fileName) Dim Sw As New IO.StreamWriter(path & fileName, False) Sw.WriteLine(vbCrLf & MyString & vbCrLf & rtSummary.Text) Sw.Flush() Sw.Close() End Sub I have also removed the Me.Dispose() line. If you want to do that, do it in the form's closed event handler. Steve

              T 1 Reply Last reply
              0
              • S Stephen McGuire

                The StreamWriter constructor must be moved to here: Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSave.Click IO.File.Delete(path & fileName) IO.File.CreateText(path & fileName) Dim Sw As New IO.StreamWriter(path & fileName, False) Sw.WriteLine(vbCrLf & MyString & vbCrLf & rtSummary.Text) Sw.Flush() Sw.Close() End Sub I have also removed the Me.Dispose() line. If you want to do that, do it in the form's closed event handler. Steve

                T Offline
                T Offline
                Taen_Karth
                wrote on last edited by
                #10

                Still the same "File is in use" error as before...

                Thanks, Taen Karth

                T 1 Reply Last reply
                0
                • T Taen_Karth

                  Still the same "File is in use" error as before...

                  Thanks, Taen Karth

                  T Offline
                  T Offline
                  Taen_Karth
                  wrote on last edited by
                  #11

                  Jeez...now I get that error on this line: Dim Sw As New IO.StreamWriter(path & fileName, False) and I do not get any errors on the two lines right before it that create adn delete the file.

                  Thanks, Taen Karth

                  S 1 Reply Last reply
                  0
                  • T Taen_Karth

                    Jeez...now I get that error on this line: Dim Sw As New IO.StreamWriter(path & fileName, False) and I do not get any errors on the two lines right before it that create adn delete the file.

                    Thanks, Taen Karth

                    S Offline
                    S Offline
                    Stephen McGuire
                    wrote on last edited by
                    #12

                    Sorry. I forgot to move the other line. Should be like this: Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSave.Click IO.File.Delete(path & fileName) Dim Sw As IO.StreamWriter = IO.File.CreateText(path & fileName) Sw.WriteLine(vbCrLf & MyString & vbCrLf & rtSummary.Text) Sw.Flush() Sw.Close() End Sub Steve

                    T 1 Reply Last reply
                    0
                    • S Stephen McGuire

                      Sorry. I forgot to move the other line. Should be like this: Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnSave.Click IO.File.Delete(path & fileName) Dim Sw As IO.StreamWriter = IO.File.CreateText(path & fileName) Sw.WriteLine(vbCrLf & MyString & vbCrLf & rtSummary.Text) Sw.Flush() Sw.Close() End Sub Steve

                      T Offline
                      T Offline
                      Taen_Karth
                      wrote on last edited by
                      #13

                      That did it...and now i understand why...lol. Thanks for sticking through me with this one. I really appreciate it. Now i just have to remeber how to capture the button result from a messagebox button when clicked...lol I do believe I am a bit rusty now. Once again thanks fr the help!:-D

                      Thanks, Taen Karth

                      S 1 Reply Last reply
                      0
                      • T Taen_Karth

                        That did it...and now i understand why...lol. Thanks for sticking through me with this one. I really appreciate it. Now i just have to remeber how to capture the button result from a messagebox button when clicked...lol I do believe I am a bit rusty now. Once again thanks fr the help!:-D

                        Thanks, Taen Karth

                        S Offline
                        S Offline
                        Stephen McGuire
                        wrote on last edited by
                        #14

                        Great! Glad I could help. To get the message box button clicked, check the DialogResult. If MessageBox.Show() = DialogResult.OK Then End If DialogResult options will vary depending on the button option you set for the dialog. Steve

                        T 1 Reply Last reply
                        0
                        • S Stephen McGuire

                          Great! Glad I could help. To get the message box button clicked, check the DialogResult. If MessageBox.Show() = DialogResult.OK Then End If DialogResult options will vary depending on the button option you set for the dialog. Steve

                          T Offline
                          T Offline
                          Taen_Karth
                          wrote on last edited by
                          #15

                          Thanks again that did it!:-D

                          Thanks, Taen Karth

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups