字符输出流: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. mybatis3批量更新 批量插入

    在公司ERP项目开发中,遇到批量数据插入或者更新,因为每次连接数据库比较耗时,所以决定改为批量操作,提升效率.库存盘点导入时,需要大量数据批量操作. 1:数据库连接代码中必须开启批量操作.加上这句,& ...

  2. Form.action传值问题

    通过浏览器地址栏输入url并通过?传递参数请求资源时,?后面的参数叫做 "查询字符串",会触发后台Servlet的doGet(),因为通过浏览器地址栏直接访问的方式是GET方式. ...

  3. 软件快速开发平台 JEPF

    JEPF新一代软件快速开发平台(Java Elephant Platform)是一款优秀的平台产品,它本着灵活.快捷开发.高性能.高协作性.高稳定性.高可用性.人性化的操作体验为设计宗旨历经2年研发成 ...

  4. SharePoint 2010 文档管理系列之准备篇

    前言:很早自己就想写一个系列的文章,但是不知道写什么,最近在QQ群里,好多人说在做文档管理,其实文档管理也是SharePoint的一个很不错的功能点,自己想了想,也想多学习点东西,所以写这个主题吧,今 ...

  5. 桥牌笔记:Show up Squeeze显露挤牌法

    南主打4S,注意一个叫牌过程,西家叫过加倍,东家应叫过2D. 西连打红桃K.A,然后再打红桃J让东家将吃.东家上手后,回小方块.此时庄家已经失了3墩了,如何完成这个4S? 庄家必须拿到所有剩下的牌墩. ...

  6. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q97-Q99)

    04 }Which code segment should you add at line 03?A. currentItem["ClassificationMetadata"] ...

  7. 适配iPhone6和iPhone6 Plus

    先对比所有市面上的iPhone设备,然后分析如何适配新的设备,   iPhone4,iPhone4s 分辨率960*640  长宽比1.5iPhone5,iPhone5s  分辨率1136*640   ...

  8. 初识 Android

    创建博客有一年的时间了,一直没把它用起来,颇感惭愧.近日突感有写博客的冲动,更可怕的是这种冲动似乎比我体内的洪荒之力更为凶猛.于是乎,这篇博客悄然诞生.废话不多说,进入正题--初识Android. 这 ...

  9. App开发流程之配置Info.plist文件

    Info.plist文件控制应用的全局配置,例如bundle name,display name. 先来看一下默认创建的Info.plist文件 右键左侧的Info.plist文件,可以open as ...

  10. 解析plist文件(字典里包着数组,数组中又包含字典)

    #import "RootTableViewController.h" #import "City.h" @interface RootTableViewCon ...