当前位置: 首页 > 教程 > Java IO流 >

Java StringWriter

精华
小牛编辑
115浏览
2023-03-14

1 什么是Java StringWriter

Java StringWriter类是一个字符流,它从字符串缓冲区收集输出,该缓冲区可用于构造String。StringWriter类继承Writer类。

在StringWriter类中,未使用系统资源(如网络套接字和文件),因此不需要关闭StringWriter。

2 Java StringWriter的语法

public class StringWriter extends Writer  

3 Java StringWriter的方法

方法 描述
void write(int c) 用于写入单个字符。
void write(String str) 用于写入字符串。
void write(String str, int off, int len) 用于写入字符串的一部分。
void write(char[] cbuf, int off, int len) 用于写入字符数组的一部分。
String toString() 用于以字符串形式返回缓冲区当前值。
StringBuffer getBuffer() 用于返回字符串缓冲区。
StringWriter append(char c) 用于将指定字符附加到Writer。
StringWriter append(CharSequence csq) 用于将指定的字符序列附加到Writer。
StringWriter append(CharSequence csq, int start, int end) 用于将指定字符序列的子序列附加到Writer。
void flush() 用于冲洗流。
void close() 用于关闭流。

4 Java StringWriter的例子

让我们看一下使用BufferedReader从流中读取文件数据的StringWriter的简单示例。

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
import java.io.*;

/**
 *  Java StringWriter的例子
 */
import java.io.*;

public class Demo {

    public static void main(String[] args) throws IOException {
        char[] ary = new char[512];
        StringWriter writer = new StringWriter();
        FileInputStream input = null;
        BufferedReader buffer = null;
        input = new FileInputStream("D:\\xnip\\test.txt");
        buffer = new BufferedReader(new InputStreamReader(input, "UTF-8"));
        int x;
        while ((x = buffer.read(ary)) != -1) {
            writer.write(ary, 0, x);
        }
        System.out.println(writer.toString());
        writer.close();
        buffer.close();
    }
}

test.txt:

Yiidian provides tutorial in Java, Spring, Hibernate, Android, PHP etc.

输出结果为:

Yiidian provides tutorial in Java, Spring, Hibernate, Android, PHP etc.