Streamwriter不工作

时间:2014-04-20 16:52:43

标签: vb.net streamwriter

我试图在txt文件中写一个变量,但它并没有真正起作用。如果我用一个普通的字符串替换变量就可以了。 代码:

    Private Sub write()

    Dim writer As System.IO.StreamWriter
    writer = My.Computer.FileSystem.OpenTextFileWriter("c:\TTTemp\Dat.txt", True)

    Dim count As Integer
    Dim chcount As Integer = 11
    Dim readchar As Char
    Dim files As String
    Dim ids(63) As String

    For Each foundFile In My.Computer.FileSystem.GetFiles(
    "C:\TTTemp")
        files = foundFile
        chcount = 11
        For i = 1 To 14
            readchar = GetChar(files, chcount)
            ids(count) = ids(count) & readchar
            chcount += 1
        Next
        writer.WriteLine(ids(count))
        count += 1
    Next

    writer.Close()

End Sub

3 个答案:

答案 0 :(得分:1)

您是否从表单的load事件处理程序运行此sub?如果是这样,并且代码抛出异常,表单仍将加载而不会写入任何文件。测试此方法的一种方法是从按钮单击事件处理程序运行sub。

抛出异常的一个可能区域是在尝试从中读取字符之前不检查字符串的长度。

您真的应该查看System.IO类和String类的Substring方法,以找到更有效的方法。

答案 1 :(得分:0)

如果没有或没有所有内容都写入文件的常见原因是您不刷新书面内容。此外,您应该通过添加Using语句来可靠地处理作者(您可以省略对Close的调用,然后:

Private Sub write()

    Using writer As StreamWriter = My.Computer.FileSystem.OpenTextFileWriter("c:\TTTemp\Dat.txt", True)
        ' ...
        writer.Flush()
    End Using

End Sub

答案 2 :(得分:0)

您的代码的第一行应具有:

Imports System.IO

它控制“ StreamWriter”操作。