计算机都是以二进制码格式存储文件的,但是在读写文件的过程中,每个应用程序都有自己的编码格式。FileWrite和FileRead类是通过查询系统默认码表进行读写的,因此在自己的系统上能够实现编码的智能化。但是在进行程序开发的时候,我们需要统一用户交互的编码,这个时候,就需要用到字符转换流了,FileWrite和FileRead类就不够用了

一、OutputStreamWriter

1.构造方法

OutputStreamWriter(OutputStream out)

OutputStreamWriter(OutputStream out, Charset cs)

OutputStreamWriter(OutputStream out, CharsetEncoder enc)

OutputStreamWriter(OutputStream out, String charsetName)

2.常用方法

void close() ===> 关闭流,先刷新

void flush() ===> 刷新流

String getEncoding() ===> 返回此流使用的字符编码的名称

void write(char[] cbuf, int off, int len) ===> 写入字符数组的一部分

void write(int c) ===> 写一个字符

void write(String str, int off, int len) ===> 写一个字符串的一部分

3.使用方法

import java.io.*;public class CharType {public static void main(String[] args) throws IOException {OutputStreamWriter file = new OutputStreamWriter(new FileOutputStream("F:\\utf-8.txt"),"utf-8");file.write("这是utf-8格式的字符");file.flush();file.close();}}
}注意:
不指定格式时,默认使用utf-8

二、InputStreamReader

1.构造方法

InputStreamReader(InputStream in)

InputStreamReader(InputStream in, Charset cs)

InputStreamReader(InputStream in, CharsetDecoder dec)

InputStreamReader(InputStream in, String charsetName)

2.常用方法

void close() ===> 关闭流并释放与之相关联的任何系统资源

String getEncoding() ===> 返回此流使用的字符编码的名称

int read() ===> 读一个字符

int read(char[] cbuf, int offset, int length) ===> 将字符读入数组的一部分

boolean ready() ===> 告诉这个流是否准备好被读取

3.使用方法

import java.io.*;public class CharType {public static void main(String[] args) throws IOException {FileInputStream fileTemp = new FileInputStream("F:\\utf-8.txt");InputStreamReader file = new InputStreamReader(fileTemp,"utf-8");int len = 0;while ((len = file.read()) != -1){System.out.print((char)len);}}
}注意:
不指定格式时,默认使用utf-8

Java第三十三天,IO操作(续集),字符转换流相关推荐

  1. 学习Java的三十三个建议

    学习Java的三十三个建议 1把Java当成一门新的语言学习(和C++差别很大,真的,我觉得和Delphi的Object Pas cal反而更像一点): 2看<Thinking in Java& ...

  2. C语言字符串库函数详解模拟实现(strlen、strcpy、strcat、strcmp)+字符操作函数+字符转换函数

    字符串库函数详解 一.无字符串长度限制的字符串函数 1. strlen 计算字符串长度函数 2. strcpy 字符串拷贝函数 3. strcat 字符串追加函数 4. strcmp 字符串比较函数 ...

  3. java字符流的父类_Java基于代码实战的字符流父类、字符转换流、缓冲字符流、过滤流...

    1. Java输入输出(I/O)流的知识回顾: 补充:因为这篇文章是基于上一篇的延续,因此将上一篇进行简单的回顾,以便理解本节内容. 1)输入输出(I/O)流分类:共分为字节型输入输出流和字符型输入输 ...

  4. java 深入io_Java高级编程-IO操作深入

    一.字符编码 实际的开发过程中的常用编码: GBK/GB2312:国标编码,可以描述中文信息. ISO8859-1:国际通用编码,可以用其描述所有的字母信息. UNICODE编码:采用16进制的方式存 ...

  5. java学习--基础知识进阶第十天--标准输入流 转换流 打印流、对象操作流 、Properties集合...

    今日内容介绍 u  标准输入流 & 转换流 & 打印流 u  对象操作流 u  Properties集合 第1章 标准输入流 & 转换流 & 打印流 1.1 标准输入输 ...

  6. [19/04/02-星期二] IO技术_字符流分类总结(含字符转换流InputStreamReader/ OutputStreamWriter,实现字节转字符)...

    一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStre ...

  7. 字节流转化为文件流_JAVA IO分析一:File类、字节流、字符流、字节字符转换流...

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  8. java bufferedinputstream 编码_java中关于编码的问题(字符转换流及字符缓冲流 )

    上次我们使用的是字节流,还有一种方式就是字符流,上次说过如何分辨使用哪种流,如果记事本可以读懂则使用字符流,否则使用字节流.使用字符流就需要牵扯到编码的问题,下面给出一种转化流的格式. OutputS ...

  9. java字符串转字节流_java 字节→字符转换流

    OutputStreamWriter:把字节输出流对象转成字符输出流对象 InputStreamReader:把字节输入流对象转成字符输入流对象 FileWriter和FileReader分别是Out ...

最新文章

  1. C#合并两张表结构相同(列数和列类型都相同)的表
  2. 走近webpack(0)--正文之前的故事
  3. 2015中学计算机考试题,2017年初中信息技术考试试题及答案
  4. Bzoj4818--Sdoi2017序列计数
  5. linux mint 图标主题_如何在 Linux Mint 中更换主题
  6. linux tomcat环境变量配置_Tomcat
  7. flume通过tcp/udp采集数据并存到kafka配置及操作方式
  8. zynq linux内核驱动编写,【原创】Linux下驱动Zynq GPIO (Switch、button、led)
  9. 阿里数据人标配的高端鼠标垫,我的粉丝每人包邮送一块
  10. c++什么时候数组溢出_C语言,营养丰富的C语言五,变长数组不是动态数组
  11. Linux首次登陆设置root
  12. oracle tsm rman,TSM下oracle备份
  13. 溢出植入型木马(后门)的原型实现 作者:FLASHSKY(原创)
  14. 点云配准(四) 四元数与旋转变换
  15. 基于Phyton爬虫索引设计与实现答辩PPT模板
  16. 高中就开始学的正态分布,原来如此重要
  17. BERT模型—5.BERT模型在句子分类任务(意图识别)上的微调
  18. 28计算机表演赛获奖情况,20届无锡地区计算机表演赛获奖名单
  19. PZT-JH20/8高压电极化装置(20KV以下压电陶瓷同时极化1-8片)
  20. C++实现麻将基本听牌胡牌的算法

热门文章

  1. 东望时代(原中国建筑第一股浙江广厦),将换域名,升级官网为数字化网站
  2. 【px4编译】make px4fmu-v3_default upload 不能使用
  3. 博图v15找不到许可证step7_添加PLC时出现“找不到许可证step7 basic”-工业支持中心-西门子中国...
  4. html5 2020视觉效果,体验未来:10个会让你惊叹不已的HTML5画布(CANVAS)技术应用演示-UI博客精选...
  5. CAN-BUS协议粗浅学习
  6. 360安全卫士弹窗广告怎么彻底关闭
  7. 微信小程序实现字体渐变
  8. 基于物联网流量指纹的安全威胁轻量级检测方法
  9. 手机网站支付转Native支付--Android
  10. 简述python的书写规则_python3 基本书写规范