码迷,mamicode.com
首页 > 编程语言 > 详细

java 21 - 2 字符输出流

时间:2016-10-01 19:38:53      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

字符输出流:OutputStreamWriter

构造方法:一共4个,说2个常用的

A:OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流(eclise默认的是GBK编码表)

B:OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流

 

A:OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流

1         OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(
2                 "a.txt"));
3         out.write("中国是我们de祖国");
4         
5         out.close();

 

B:OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流

1         OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
2                 "osw.txt"), "UTF-8"); // 指定UTF-8
3         // 写数据
4         osw.write("中国是我们的祖国");
5 
6         // 释放资源
7         osw.close();

 

字符输出流的方法:

A* public void write(int c):写一个字符
B* public void write(char[] cbuf):写一个字符数组
C* public void write(char[] cbuf,int off,int len):写一个字符数组的一部分
D* public void write(String str):写一个字符串
E* public void write(String str,int off,int len):写一个字符串的一部分

首先创建个字符输出流对象

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
                "osw.txt"));

 

A* public void write(int c):写一个字符

osw.write(‘a‘);//看到的是a
osw.write(97);//这个看到的是W,因为这个是字符流,会根据编码表自动寻找值所对应的字符

 

B* public void write(char[] cbuf):写一个字符数组

1  char[] chs = {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘};
2          osw.write(chs);

 

C* public void write(char[] cbuf,int off,int len):写一个字符数组的一部分

1 osw.write(chs,1,3);

 

D* public void write(String str):写一个字符串

osw.write("我爱睡觉");


E* public void write(String str,int off,int len):写一个字符串的一部分

osw.write("我爱睡觉", 2, 3);

 

注意:字符流有个跟字节流不同的类似xxx.close()的方法:xxx.flush();

那么,close()和flush()的区别呢:

A:close()关闭流对象,但是先刷新一次缓冲区。关闭之后,流对象不可以继续再使用了。
B:flush()仅仅刷新缓冲区,刷新之后,流对象还可以继续使用。flush方法是当你想把BufferedOutStream中的数据立即输出时,就调用。 

也就是说,close()只能在流的结尾使用,因为一使用了,流对象就没了

而,flush()可以在途中使用,因为它仅仅是刷新作用

java 21 - 2 字符输出流

标签:

原文地址:http://www.cnblogs.com/LZL-student/p/5926078.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!