OuputStreamWriter介绍

java.io.Outputstreamlwriter extends writer
outputStreamwriter:是字符流通向字节流的桥梁:可使用指定的 charset将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂)继续自父类的共性成员方法:

  - void write(int c)写入单个字符。
  - void write(char[] cbuf)写入字符数组。
  - abstract void write(char[] cbuf,int off, int len)写入字符数组的某一部分, off数组的开始索引,↓en写的字符个数。

  - void write( string str)写入字符串。
  - void write(String str,int off,int len))写入字符串的某一部分,off字符串的开始索引, Len写的字符个数。- void flush ()刷新该流的缓冲。
  - void ciose)关闭此流,但要先刷新它。

构造方法:
  OutputStreamwriter(OutputStream out)创建使用黑认字符编码的outputStreamwriter。
  OutputStreamwriter(OutputStream out,String charsetName)创建使用指定字符集的OutputStreamwriter。

参数:

  outputStream out:字节输出流,可以用来写转换之后的字节到文件中
  String charsetName :指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBKj...不指定默认使用UTF-使用步骤:

  1.创建Output Stream Writer对象,构造方法中传递字节输出流和指定的编码表名称

  2.使用outputStreamwriter对象中的方法write,把字符转换为字节存储缓冲区中(编码)

  3.使用outputStreamwriter对象中的方法fLush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)

  4.释放资源

package A_Lian_one.demo20_IO;

import java.io.*;

public class Demo02OutputStreamWriter {
public static void main(String[] args) throws IOException {
write_utf_8();
} private static void write_utf_8() throws IOException {
//1.创建outputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("s.txt"), "utf-8");
//2.使用outputStreamwriter对象中的方法write,把字符转换为字节存储缓冲区中(编码)
osw.write("你好");
//3.使用outputstreamvriter对象中的方法flush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
osw.flush();
//关闭流
osw.close();
}
}

InputStreamReader介绍

InputStreamReader 是字节流通向字符流的桥梁:它使用指定的charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。

每次调用InputStreameader 中的一个read()方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。

为了达到最高效率,可要考虑在 BufferedReader内包装InputStreamReader。例如:

最新文章

  1. Mac怎么读写NTFS格式?Mac读写NTFS格式硬盘教程
  2. hdu 2099
  3. php5.3 连接 sqlserver2005
  4. 【转】Fragment和Activity
  5. Fiddler 抓取eclipse中的请求
  6. IO之同步、异步、阻塞、非阻塞
  7. iOS 开发新版 动态库framework
  8. Excel实用知识3
  9. .NET Core和Swagger 生成 Api 文档
  10. [3]第二章 C++编程简介
  11. 算法笔记-状压dp
  12. C++函数指针与指针函数干货
  13. 利用phpredis实现PHP操作Redis
  14. pagerank算法在数学模型中的运用(有向无环图中节点排序)
  15. EBS-新增和更新价目表行
  16. Jacob 调用金税系统
  17. java的MVC与C#
  18. 5.6 C++重载下标操作符
  19. Java DB 访问(三)mybatis mapper interface接口
  20. Python pandas & numpy 笔记

热门文章

  1. Vue前端框架基础+Element的使用
  2. C语言实现计算“已经活了多少天”
  3. Ajax基础(中)
  4. 高精度加法(Java)
  5. Kubernetes_k8s持久化存储(亲测可用)
  6. PHP 0817
  7. Training: ASCII
  8. 关于linux建立u盘legacy启动方式引导
  9. Python异步协程(asyncio详解)
  10. 1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆级的java大数据学习资料