我试图在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
答案 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”操作。