SORU
19 EKİM 2008, Pazar


Bir Dize içine bir OutputStream olsun

Bir java çıktısı boru için en iyi yolu nedir.ıo.Java'da bir String için OutputStream?

Söylediğin yöntem var:

  writeToStream(Object o, OutputStream out)

Verilen stream nesnesi, belirli veri yazar. Ancak, bir Dize içine bu çıkış olabildiğince kolay bir şekilde almak istiyorum.

Böyle bir sınıf () denenmemiş yazmayı düşünüyorum:

class StringOutputStream extends OutputStream {

  StringBuilder mBuf;

  public void write(int byte) throws IOException {
    mBuf.append((char) byte);
  }

  public String getString() {
    return mBuf.toString();
  }
}

Ama orada daha iyi bir yolu var mı? Ben sadece bir test yapmak istiyorum.

CEVAP
19 EKİM 2008, Pazar


ByteArrayOutputStream bir kullanırdım. Ve son arayabilirsiniz:

new String( baos.toByteArray(), codepage );

ya da daha iyi

baos.toString( codepage );

String oluşturucu için codepage bir Dize veya java.nio.charset.Charset Bir örnek olabilir. Olası bir değer java.nio.charset.StandardCharsets.UTF_8.

Yöntem olabilirdi codepage parametre (Java 8 stand) olarak tek bir Dize kabul eder.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013