• 【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

  • 相关阅读:
    Error in as.POSIXlt.character(x, tz, ...) :
    java.util.ResourceBundle使用详解
    互联网网站的反爬虫策略浅析
    基于内容的图片检索CBIR(Content Based Image Retrieval)简介
    solr
    ETL
    cv 论文(CNN相关)
    输出字符串
    Minimum_Window_Substring两种方法求解
    C++primer中的TextQuery(读取文本)
  • 原文地址:https://www.cnblogs.com/heyang78/p/11785449.html
Copyright © 2020-2023  润新知