Java字符输入输出流

InputStreamReader可以把字节流,以指定的编码转换为字符流。

OutputStreamWriter可以把字符流以指定的编码转换为字节流。

这两个类采用了适配器设计模式, 电源适配器可以把220的交流电转换为20V的直流电,  InputStreamReader把字节流转换为字符流, OutputStreamWriter把字符流转换为字节流。

package com.wkcto.chapter06.readerwriter;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.io.UnsupportedEncodingException;

/**

* InputStreamReader/OutputStreamWriter , 转换流类

* 当文本文件的编码格式与当前环境的编码格式不兼容时, 使用转换流类读写文件

* @author 蛙课网

*

*/

public class Test04 {

public static void main(String[] args) throws IOException {

//读取文本文件, 文本文件的编码与当前环境编码不兼容

//readData();

//保存文件, 以指定的编码把数据保存到文件中

writeData();

}

private static void writeData() throws IOException {

OutputStream out = new FileOutputStream("d:/def.txt"); //以覆盖的方式打开文件

OutputStreamWriter osw = new OutputStreamWriter(out, "GBK");

osw.write("程序开发环境使用UTF-8编码, 而现在是以GBK的格式把数据保存到文件中");

osw.close();

}

//读取文本文件, 文本文件的编码与当前环境编码不兼容

private static void readData() throws IOException {

//在当前程序与d:/test01.java文件之间建立字节流通道 , d:/test01.java文件使用GBK编码, 当前环境是UTF-8编码

InputStream in = new FileInputStream("d:/test01.java");

//使用转换流, 把字节流in中的字节,按照指定的编码GBK转换为字符

InputStreamReader isr = new InputStreamReader(in, "GBK");

//可以读取字符流isr中的字符

int cc = isr.read();

while( cc != -1){

System.out.print( (char)cc);

cc = isr.read();

}

isr.close();

}

}

java io字符输出流_Java字符输入输出流相关推荐

  1. java IO(二)—— 字符输入输出流

    javo. io. Reader:字符输入流 是字符输入流的最顶层的父类,定义了-些共性的成员方法,是一个抽象类 共性的成员方法: int read() 读取单个字符并返回. int read(cha ...

  2. java io字符流_Java IO流字符流简介及基本使用

    Java IO流字符流简介及常用字符流的基本使用 字符流分为输入字符流(Writer)和输出字符流(Reader),这两种字符流及其子类字符流都有自己专门的功能.在编码中我们常用的输出字符流有File ...

  3. Java I/O流——面向字符输入/输出流(超详细)

    目录 前言 字符编码 面向字符输入/输出流类 转换流 转换输入流(InputStreamReader)类 转换输入流(InputStreamReader)类实例 转换输出流(OutputStreamW ...

  4. Java IO: 字符流的Buffered和Filter

    作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader.B ...

  5. Java IO: 字符流的Piped和CharArray

    转载自   Java IO: 字符流的Piped和CharArray 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍管道与字符数组相 ...

  6. java io字符输出流_JAVA IO 字符输入流与输出流总结说明

    目录 OutputStreamWriter 用于向本地文件中写入数据 InputStreamReader 用于读取本地文件中的字节数据 FileReader 用于读取本地文件中的字节数据 FileWr ...

  7. java io字符输出流_灵魂一击!详解Java中的IO输入输出流

    什么是流?流表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节. IO流是实现输入输出的基础,它可以很方便地实现数据的输入输出操作,即读写操作 ...

  8. java输入输出及文件_java输入输出流及文件操作

    我只选择了一些代码 注意包声明和相关结构 许多类都继承了MyFile这个类 深入研究可以参考<java文件操作> 1.[代码]读取文件内容 /** *Author:Yuanhonglong ...

  9. java怎么创建输入输出流_Java输入输出流

    1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...

最新文章

  1. 与技术无关的书单--你可以笑着说有些是“精神鸦片”
  2. 在Eclipse中打开Hadoop工程
  3. HTML5中lineCap端点样式遇到closePath()
  4. jvm详解、GC、堆内存参数调优
  5. c语言中字符数字加'0',C语言中的NULL与转义字符'\0'以及数值0的关系
  6. 解密Oracle备份工具-exp/imp
  7. Java 设计模式 之 模板方法模式(Template Method)
  8. 格拉布斯准则异常数据_异常处理准则和最佳实践
  9. 【草图大师Sketchup插件开发】画盒子工具
  10. 通过新版阿里ACE认证,实验操作题你来解一下
  11. [软件笔试] 2014暴风影音校招技术笔试题(长春站)
  12. 400多个JavaScript特效大全
  13. 直播网站服务器带宽多少合适,开直播网速要求(开直播要多少兆宽带)
  14. Arduino学习(九): 写一个Arduino扩展库:音乐播放库,并实现跨平台
  15. Python-进制转换
  16. 怎么做才能使校园网让多台电脑使用?
  17. geopandas和shapely使用(使用pyproj进行坐标转换)
  18. 考题篇(6.2) 05 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4
  19. 脸部表情,走路姿势,微表情
  20. 通信之道-傅立叶分析

热门文章

  1. php中empty功能,在php中empty函数起什么作用呢?
  2. Java 蜡烛图_ta-lib 里的蜡烛图形态函数源码
  3. debian linux系统下载工具,Debian For Linux
  4. MATLAB保存数据为dat格式,將matlab中數據保存為txt或dat格式
  5. printf linux 头文件,Linux C 格式化输出时要注意的问题
  6. java sql 参数_java jdbc连接数据库,Properties 属性设置参数方法
  7. Mybatis源码解析之Mybatis初始化过程
  8. 七十、SpringBoot整合 Druid数据源
  9. 时间序列模型(ARIMA模型)
  10. 博士申请 | 北京大学AI院杨耀东老师招收强化学习博弈论实习生/博士生