StreamWriter Basic但错误

时间:2012-01-06 16:20:24

标签: asp.net vb.net

尝试在ASP.NET 3.5 VB.NET中向一个编写器写一系列行,但是我收到错误'对象引用未设置为对象的实例。这是代码

Dim sW As StreamWriter, iX As Integer = 0
For iX = 0 To 5
  sW.WriteLine("SomeThing") 'Error occurs here 
Next

我的目标是在不同的行中写一系列字符串。这似乎很简单,但我没有看到如何设置引用;我在上面宣布两行。 TIA。

4 个答案:

答案 0 :(得分:2)

sw未初始化。这是错误的根源。您可以在使用变量之前实例化一个streamwriter。示例:

Dim sw as new StreamWriter("c:\text.txt")

[编辑]根据你的评论,这里有另一个答案:

您可以连接字符串:

Dim string1 as string
Dim string2 as string
Dim string3 as string

string1 = "String1"
string2 = "String2"
string3 = string1 + Environment.NewLine + string2

或使用StringBuilder类:

Dim sb as new StringBuilder()
Dim string3 as string

sb.AppendLine("string1")
sb.AppendLine("string2")
string3 = sb.ToString()

连接多个字符串时需要使用stringbuilder类(我会说超过10个连接)以避免每个连接的内存分配。

答案 1 :(得分:1)

它给出了错误,因为您没有初始化StreamWriter类的新实例。

Dim sW as New StreamWriter

http://msdn.microsoft.com/en-us/library/system.io.streamwriter.aspx

http://msdn.microsoft.com/en-us/library/f5f5x7kt.aspx

答案 2 :(得分:0)

在第一行中,您只是初始化整数iX。必须使用

行中的内容初始化StreamWriter
Dim sW As new StreamWriter(yourFilename)

答案 3 :(得分:0)

试试这个:

Using writer As StreamWriter = New StreamWriter("myfile.txt")
    writer.Write("One ")
    writer.WriteLine("two 2")
    writer.WriteLine("Three")
End Using