Out of Memory Exception bei Stringbuilder

04/11/2009 - 16:41 von Andreas Kammann | Report spam
Hi, ich erstelle mittels eines Stringbuilders eine ziemlich große Textdatei
ca 800000 einzelne Textzeilen.
Irgendwann bekomme ich eine Out of Memoryexception. Wie kann ich die
vermeiden?


Dim objstream As New System.IO.StreamWriter(m_sFilename, False,
System.Text.Encoding.Unicode)
Dim strBuilder As New System.Text.StringBuilder


hier ist eine Schleife wo der build mit Daten gefüllt wird+

Schleife
strBuilder.Append("")
strBuilder.Append(Buf)
EndeSchleife


linea = strBuilder.ToString
objstream.WriteLine(linea)
strBuilder.Remove(0, strBuilder.Length)
objstream.Close()
objstream.Dispose()
 

Lesen sie die antworten

#1 Martin Honnen
04/11/2009 - 16:49 | Warnen spam
Andreas Kammann wrote:
Hi, ich erstelle mittels eines Stringbuilders eine ziemlich große
Textdatei ca 800000 einzelne Textzeilen.
Irgendwann bekomme ich eine Out of Memoryexception. Wie kann ich die
vermeiden?


Dim objstream As New System.IO.StreamWriter(m_sFilename, False,
System.Text.Encoding.Unicode)
Dim strBuilder As New System.Text.StringBuilder


hier ist eine Schleife wo der build mit Daten gefüllt wird+

Schleife
strBuilder.Append("")
strBuilder.Append(Buf)
EndeSchleife


linea = strBuilder.ToString
objstream.WriteLine(linea)
strBuilder.Remove(0, strBuilder.Length)
objstream.Close()
objstream.Dispose()



Warum brauchst du denn den StringBuilder, warum schreibst du in der
Schleife nicht direkt in den StreamWriter?


Martin Honnen MVP XML
http://msmvps.com/blogs/martin_honnen/

Ähnliche fragen