codestory

Die Anleitung zu Java StringWriter

  1. StringWriter
  2. Examples

1. StringWriter

StringWriter ist eine Unterklasse von Writer. Es verwaltet ein Objekt StringBuffer. Die in StringWriter geschriebenen Zeichen werden an das von ihm verwaltete Objekt StringBuffer bindet.
Die Klasse StringWriter verwendet keine Aktivitäten I/O oder Network . Deshalb können Sie verwenden, ohne sie zu schließen.
StringWriter constructor
StringWriter()    

StringWriter​(int initialSize)
Außer der von seiner übergeordneten Klasse geerbten Methode hat StringWriter einige bemerkenswerten eigenen Methoden, darunter:
String toString()
String von buffer zurückgeben.
StringBuffer getBuffer()
Ein Objekt StringBuffer zurückgeben, das StringWriter verwaltet.
StringWriter append(
char c)
Ein Zeichen in buffer anhängen, wie der Aufruf der Methode StringWriter.write(char), Aber das Methode gibt ein momentanes Objekt StringWriter zurück, mit dem ein anderes Methode von StringWriter aufgeruft werden kann, anstatt mit einem Semikolon (;) zu enden.
StringWriter append(
CharSequence csq)
Wie das Methode StringWriter.write(CharSequence), aber ein Objekt StringWriter momentan zurückgeben.
StringWriter append(
CharSequence csq,
int start, int end)
Wie das Methode StringWriter.write(CharSequence,int,int), aber das Objekt StringWriter momentan zurückgeben.

2. Examples

StringWriterEx1.java
package org.o7planning.stringwriter.ex;

import java.io.StringWriter;

public class StringWriterEx1 {

    public static void main(String[] args) {
        StringWriter sw = new StringWriter();
        
        sw.write("Java Tutorial");
        sw.append("\n").append("C# Tutorial").append("\n").append("Python Tutorial");
        
        String s = sw.toString();
        
        System.out.println(s);
    }
}
Output:
Java Tutorial
C# Tutorial
Python Tutorial
Wenn eine Ausnahme auftritt, werden Sie normalerweise auf dem Bildschirm console die Information "Stack Trace" angezeigt. Wie wird dieser Inhalt als String geschaffen?
StringWriterEx3.java
package org.o7planning.stringwriter.ex;

import java.io.PrintWriter;
import java.io.StringWriter;

public class StringWriterEx3 {

    public static void main(String[] args) {
        try {
            int a = 100/0; // Exception occur here
        } catch(Exception e)  {
            String s = getStackTrace(e);
            System.err.println(s);
        }
    }
    
    public static String getStackTrace(Throwable t)  {
        StringWriter writer = new StringWriter();
        
        // Create PrintWriter via PrintWriter(Writer) constructor.
        PrintWriter pw = new PrintWriter(writer);
        
        // Call method: Throwable.printStackTrace(PrintWriter)
        t.printStackTrace(pw);
        pw.close();
        
        String s = writer.getBuffer().toString();
        return s;
    }
}
Output:
java.lang.ArithmeticException: / by zero
    at org.o7planning.stringwriter.ex.StringWriterEx5.main(StringWriterEx5.java:10)
GetStackTraceEx.java
package org.o7planning.printwriter.ex;

import java.io.PrintWriter;
import java.io.StringWriter;

public class GetStackTraceEx {

    public static void main(String[] args) {
        try {
            int a = 100/0; // Exception occur here
        } catch(Exception e)  {
            String s = getStackTrace(e);
            System.err.println(s);
        }
    }
     
    public static String getStackTrace(Throwable t)  {
        StringWriter stringWriter = new StringWriter();
         
        // Create PrintWriter via PrintWriter(Writer) constructor.
        PrintWriter pw = new PrintWriter(stringWriter);
         
        // Call method: Throwable.printStackTrace(PrintWriter)
        t.printStackTrace(pw);
        pw.close();
         
        String s = stringWriter.getBuffer().toString();
        return s;
    }
}
Output:
java.lang.ArithmeticException: / by zero
    at org.o7planning.printwriter.ex.GetStackTraceEx.main(GetStackTraceEx.java:10)

Die Anleitungen Java IO

Show More