zoukankan      html  css  js  c++  java
  • 【English】What is a Java StringWriter, and when should I use it?(转帖)

    转帖地址:http://www.it1352.com/989366.html

    Question

    What is a Java StringWriter, and when should I use it?

    I have read the documentation and looked here, but I do not understand when I should use it.

    Answer

    It is a specialized Writer that writes characters to a StringBuffer, and then we use method like toString() to get the string result.

    When StringWriter is used is that you want to write to a string, but the API is expecting a Writer or a Stream. It is a compromised, you use StringWriter only when you have to, since StringBuffer/StringBuilder to write characters is much more natural and easier,which should be your first choice.

    Here is two of a typical good case to use StringWriter

    1.Converts the stack trace into String, so that we can log it easily.

    StringWriter sw = new StringWriter();//create a StringWriter
    PrintWriter pw = new PrintWriter(sw);//create a PrintWriter using this string writer instance
    t.printStackTrace(pw);//print the stack trace to the print writer(it wraps the string writer sw)
    String s=sw.toString(); // we can now have the stack trace as a string

    2.Another case will be when we need to copy from an InputStream to chars on a Writer so that we can get String later, using Apache commons IOUtils#copy :

    StringWriter writer = new StringWriter();
    IOUtils.copy(inputStream, writer, encoding);//copy the stream into the StringWriter
    String result = writer.toString();

    --END-- 2019年11月3日11:06:45

  • 相关阅读:
    第三章感想
    第二章感想
    第一章感想
    第9章 硬件抽象层:HAL
    第10章 嵌入式linux的调试技术
    第8章 蜂鸣器驱动
    第七章 I/O
    第六章 编写Linux驱动程序
    第五章 S3C6410
    源代码的下载和编译
  • 原文地址:https://www.cnblogs.com/heyang78/p/11785449.html
Copyright © 2011-2022 走看看