Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [VB .NET] Tiedoston kirjoitus katkeaa

K_L [12.09.2007 14:51:29]

#

Tervehdys,

Olen tehnyt ohjelmaa, joka lukee logia, ja sitten tallentaa sen siistittynä toiseen.

Nyt tallentaminen kuitenkin katkeaa kesken WriteLinen.

Dim FilePath As String
Dim FilePathW As String
FilePath = "F:\Power-IT\Ohjelmointi\VKAU\Backup_AAS.log"
FilePathW = "F:\Power-IT\Ohjelmointi\VKAU\Stripped_AAS.log"

Dim sr As StreamReader = New StreamReader(FilePath)
Dim wr As New FileStream(FilePathW, FileMode.Create, FileAccess.Write)

Dim sw As StreamWriter = New StreamWriter(wr)

Dim DataLine As String


Try
    While sr.Peek <> -1

        DataLine = sr.ReadLine()

        If DataLine.StartsWith("Starting backup at ") Then
            sw.WriteLine(DataLine)
        End If
        If DataLine.StartsWith("Finished backup at ") Then
            sw.WriteLine(DataLine)
        End If
        If DataLine.StartsWith("Starting restore at") Then
            sw.WriteLine(DataLine)
        End If
        If DataLine.StartsWith("Finished restore at") Then
            sw.WriteLine(DataLine)
                Debug.WriteLine(DataLine)
        End If

    End While
Catch ex As Exception
    MsgBox(ex.ToString)
End Try
sr.Close()
sw.Close()

Tuo debug tulostus tulostaa mielenkiintoisesti

Finished restore at 19.09.2006 21:48:42
Finished restore at 23.09.2006 21:27:12
Finished restore at 27.09.2006 00:09:21
Finished restore at 28.09.2006 23:39:13
Finished restore at 30.09.2006 23:19:36

Tiedostoon kirjoittaessa viimeinen Finished Restore kuitenkin katkeaa Finished sanan jäkeen.

...
Starting backup at 29.09.2006 21:30:10
Finished backup at 30.09.2006 17:52:24
Starting restore at 30.09.2006 17:52:34
Finished

Samoin kun sw.close() ajetaan, valittaa se virheestä: "Additional information: Cannot access a closed file."

Tod näk vika on pieni, mutta ei osu minun silmään.

groovyb [22.09.2007 12:24:32]

#

missä sä olet määrittänyt mitä tuo sr.dataline kirjoittaa?

en näe tossa koodissa tarpeeksi, koska tuon sr.datalinen määritys on näemmä muualla.

ilmeisesti tuo sr.dataline sisältää jonkun select casen tai vastaavan joka määrittää kirjoitetaanko starting backup, finished backup tai starting restore?

vai onko se niin että sulla on kaksi erillistä muuttujaa, joista toinen on tuon sr.datalinen eka osio (joko starting tai finished), ja erillinen toinen osio (backup ja restore), ja sen jälkeen tuo timestamppi

jos käytät tätä, että on kaksi erillistä muuttujaa, se ei löydä tuota toista joka määrittää tuon backup ja restore.

ja sitte pitääkin jo etsiä sitä vikaa tuon backup/restore muuttujasta, ja sitä että onko tuo timestamppi ehdollistettu sille että pitää olla jompikumpi, backup at tai restore at, että päiväys ja aika tulee näkyviin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta