Java OutputStreamWriter.write()输出字符流

java中OutputStreamWriter是从字符流到字节流的桥接,自动将要写入流中的字符编码成字节,等于FileOutputStream + 编码表(GBK),而OutputStreamWriter.write()都会导致在给定字符(或字符集)上调用编码转换器,直接写出UTF-8编码后的字符。

定义

public void write(int c)      //写一个字符
public void write(char[] cbuf)      //写一个字符数组
public void write(char[] cbuf,int off,int len)      //写一个字符数组的一部分
public void write(String str)      //写一个字符串
public void write(String str,int off,int len)      //写一个字符串的一部分

实例

@Test
public void OutputStreamWriterDemo()throws Exception{
     // 创建对象
     OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("fos.txt"),"UTF-8");
     // 写一个字符
     osw.write('a');
     osw.write(98);
     osw.write("\r\n");
     //写一个字符数组
     char[] chs = {'q','w','e','r','t'};
     osw.write(chs);
     osw.write("\r\n");
     //写一个字符数组的一部分
     osw.write(chs,1,3);
     osw.write("\r\n");
     //写一个字符串
     osw.write("www.51gjie.com");
     osw.write("\r\n");
     //写一个字符串的一部分
     osw.write("hello world", 2, 3);
     osw.write("\r\n");
     // 刷新缓冲区
     osw.flush();
     // 释放资源
     osw.close();
}

输出:fos.txt 
ab 
qwert 
wer 
www.51gjie.com
ell


版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。