字符输出流:OutputStreamWriter

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

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

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

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

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

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

         OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
"osw.txt"), "UTF-8"); // 指定UTF-8
// 写数据
osw.write("中国是我们的祖国"); // 释放资源
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):写一个字符数组

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

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

 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 字符输出流的更多相关文章

  1. JAVA I/O 字符输出流简要概括

    偷个懒,直接参考上篇字符输入流Reader的形式,其实Reader和Writer本来就大同小异: 字符输出流Writer 本篇将对JAVA I/O流中的字符输出流Writer做个简单的概括: 总得来说 ...

  2. java 21 - 6 字符缓冲流的特殊方法以及该方法高效复制文件

    字符缓冲流的特殊方法: A.BufferedWriter: public void newLine():根据系统来决定换行符 private static void write() throws IO ...

  3. java 21 - 4 字符流的文件复制操作以及简化

    既然字节流可以复制文件,那么字符流当然也有. 同样的思路: 数据源: a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader目的地: b.txt -- 写出数据 -- ...

  4. java 21 - 3 字符输入流

    所谓的输入流,就是读取文件中的数据 同样的,字符输入流InputStreamReader 4个构造方法,不过2个比较常用: 构造方法: A:InputStreamReader(InputStream ...

  5. Java读写文件,字符输入流FileReader 和 字符输出流FileWriter

    一个流被定义为一个数据序列.输入流用于从源文件读取数据,输出流用于向目标写数据. 字符输入流FileReader三种读文件方式 package com.shuzf.fileio; import jav ...

  6. java多线程的字符流与字节流

    字节流: package com.wz.thread.stream;import java.io.PipedOutputStream;/** * 字节输入流 * @author Administrat ...

  7. 字符输出流_Writer类&FileWriter类介绍和字符输出流的基本使用_写出单个字符到文件

    java.io.Writer:字符输出流,是所有字符输出流的最顶层的父类,是一个抽象类 共性的成员方法: - void write(int c) 写入单个字符 - void write(char[] ...

  8. 字符输出流_Writer类&FileWrite类介绍和字符输出流的基本使用_写出单个字符到文件

    字符输出流_Writer类&FileWrite类介绍 java.io.Writer:字符输出流,是所有字符输出流的最顶层的父类,是一个抽象类 共性抽象方法: void write(int c) ...

  9. Java将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

    java.io 类 BufferedWriter java.lang.Object java.io.Writer java.io.BufferedWriter BufferedWriter publi ...

随机推荐

  1. 使django与数据库保持长连接

    最近遇到一个很蛋疼的问题,写了一个后台管理系统, 由于是后台管理系统,所以使用频率不是很高,当django程序在闲置一段时间后,再次打开后台系统,就变得很慢,然后又好了.查了很多方面,从模板引擎到请求 ...

  2. WPF超级链接

    一.添加样式 <Style x:Key="LinkLabelStyle"> <Setter Property="Control.Padding" ...

  3. 自己写的表格插件autotable

    自己写的表格插件autotable 作者:田想兵,个人网址:http://www.lovewebgames.com 这个表格插件所完成的功能是:ajax请求数据,然后动态绑定到指定表格下,格式化,分页 ...

  4. JavaScript中instanceof运算符的用法以及和typeof的区别

    instanceof : 判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例:返回boolean类型栗子①: var aColors = ["red", "g ...

  5. vsphere vcenter server下安装ubuntu的vmwaretools

    0.参考文献 百度经验:这里面是以redhat桌面版为实例进行介绍的,我的环境是ubuntu-server,虽然不一样,也可以参考 http://jingyan.baidu.com/article/2 ...

  6. IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog两种不同情况的输出方式

    [新年新气象,2016/01/04] 俺们在开发IOS程序过程中,经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程 ...

  7. 保持listview当前位置

    保持listview滑动的位置,一般用在增加listview子item中布局的评论或者退出当前活动,再次进入继续阅读时. 利用ListView.getFirstVisiblePosition()来获取 ...

  8. android media server 解析1-media player service 结构部分

    下面为media server注册的四个服务之一:MediaPlayerService的结构图 1.图中没有MediaPlayerService的代理对象BpMediaPlayerService部分, ...

  9. 写给IOS开发工程师的网页前端入门笔记

    前言:作为IOS开发工程师,终会接触到网页前端开发,甚至可能会有 用HTML5开发IOS的app客户端的需求.比如现在上架的app就有比如理财类型的app有的就用HTML开发的,从理财类型的app需求 ...

  10. Markdown 五分钟速成

    为了加强后续 Wiki 开发效率,请编写人员使用规定工具按照规范进行文档的编写. Windows 用户推荐使用编辑器 MarkdownPad 下载地址:http://markdownpad.com M ...