2010-09-17 13 views
32

Jaki jest poprawny sposób na "opróżnienie" StringWriter w Javie, aby móc ponownie użyć StringWriter bez konieczności tworzenia nowego? Wygląda na to, że zarówno StringWriter.flush(), jak i pożądany efekt.Jak "opróżnić" StringWriter w Javie?

+0

w jaki sposób oni nie mają pożądany efekt? Ponadto, dlaczego chcesz go użyć zamiast tworzyć nowy? – zigdon

+2

Nie powodują one opróżnienia bufora 'StringWriter', który jest pożądanym efektem. –

Odpowiedz

49

Jak zadzwonić pod numer getBuffer().setLength(0)?

+0

słodki, miły dzięki. – Gurnard

+2

Jeśli początkowo ustawiłeś StringWriter na określony rozmiar, czy ustawiona długość zmniejszy ten rozmiar do 0? –

+2

Utrzymuje to pojemność bufora tak samo. Jeśli chcesz zwolnić pamięć, użyj 'writer.getBuffer(). TrimToSize();' po ustawieniu długości. – thomas88wp

0

Alternatywnie, możemy również usunąć bufor stosując następujący kod:

StringBuffer buf = ****.getBuffer(); 
buf.delete(0,buf.length()); 
+0

Czy to wyczyści zawartość bufora lub zwalnia pamięć buforową? W tym przypadku chcę wyczyścić zawartość. –

+0

Usuwa zawartość ... –

+0

Jeśli zwalnia pamięć dla wyczyszczonego bufora, nie jestem pewien ... Można sprawdzić przy buf.capacity() –

Powiązane problemy