Beste Weg, um eine Zeichenfolge schreiben zu Ausgabestrom in Java

Ich habe eine OutputStream Instanz, die Rückkehr von HttpURLConnection. Schreiben brauche ich eine UTF-8-String in den stream.

Habe ich 2 Möglichkeiten:

  1. Verwenden OutputStream sich

    //write String
    os.write("some utf8 text".getBytes(Charsets.UTF_8));
  2. Verwenden OutputStreamWriter wrapper

    //BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, CharsetUtils.UTF_8));
    
    OutputStreamWriter osw = new OutputStreamWriter(os, CharsetUtils.UTF_8);
    osw.write("some utf8 text");

Frage: Warum sollten wir OutputStreamWriter über OutputStream zu schreiben String?

Dank!

  • Weil die meisten der Zeit, die Sie wollen, zu schreiben, vielen Strings (und möglicherweise auch anderen Daten-Typen, mit einem PrintWriter, das einwickeln der OuputStreamWriter) der gleiche Strom, und wollen nicht zu wiederholen, die Codierung zu jeder Zeit.
InformationsquelleAutor Loc | 2016-06-17
Schreibe einen Kommentar