1,使用指定的码表读写字符

FileReader是使用默认码表读取文件, 如果需要使用指定码表读取, 那么可以使用InputStreamReader(字节流,编码表)

FileWriter是使用默认码表写出文件, 如果需要使用指定码表写出, 那么可以使用OutputStreamWriter(字节流,编码表)

【1】 代码分析

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.UnsupportedEncodingException;

public class Demo7_TransIO {

/**

* @param args

* @throws IOException

*/

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

//demo1();

//demo2();

BufferedReader br =                                 //更高效的读

new BufferedReader(new InputStreamReader(new FileInputStream("utf-8.txt"), "utf-8"));

BufferedWriter bw =                                 //更高效的写

new BufferedWriter(new OutputStreamWriter(new FileOutputStream("gbk.txt"), "gbk"));

int c;

while((c = br.read()) != -1) {

bw.write(c);

}

br.close();

bw.close();

}

public static void demo2() throws UnsupportedEncodingException,

FileNotFoundException, IOException {

InputStreamReader isr = new InputStreamReader(new FileInputStream("utf-8.txt"), "uTf-8");    //指定码表读字符

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("gbk.txt"), "gbk");    //指定码表写字符

int c;

while((c = isr.read()) != -1) {

osw.write(c);

}

isr.close();

osw.close();

}

public static void demo1() throws FileNotFoundException, IOException {

//用默认编码表读写,出现乱码

FileReader fr = new FileReader("utf-8.txt");

FileWriter fw = new FileWriter("gbk.txt");

int c;

while((c = fr.read()) != -1) {

fw.write(c);

}

fr.close();

fw.close();

}

}

2,转换流图解

画图分析转换流

标签:字符,java,import,读写,io,new,close,JAVA,码表

来源: https://blog.csdn.net/Cricket_7/article/details/95076775

java 字符流 utf8,JAVA基础(字符流设置编码读写字符)相关推荐

  1. java文档表白_java基础io流——File的告白(重温经典)

    File类概述和构造方法 File类的概述 文件和目录路径名的抽象表示形式 构造方法 public File(String pathname) public File(String parent,St ...

  2. java json设置编码_java-JSON字符编码

    java-JSON字符编码 我的Java Web应用程序提交了一个AJAX请求,该请求返回JSON,例如: {'value': 'aériennes'} 当网页上显示"aériennes&q ...

  3. 字符在utf-8,gbk,gb2312,iso8859-1下的编码实验

    一直以来对编码并不是太理解,所以用java做了个实验,感觉清楚了点: 下面这个代码的功能是,获取某个字符或汉字在utf-8,gbk,gb2312,iso8859-1等下的十六进制,八进制,十进制,二进 ...

  4. java中字符流和字节流的区别_java中字节流和字符流有哪些区别

    java中字节流和字符流的区别有:1.定义不同:2.结尾不同:3.处理方式不同:4.缓冲区不同:5.编码方式不同.字节流默认不使用缓冲区,而字符流使用缓冲区.字节流采用ASCII编码,字符流采用uni ...

  5. day04--java高级编程:API:Object、String,Buffer、包装类、日期、java比较器、BigInteger、进制、length区别,IO流,路径,序列化id,编码

    1 API 1.1 Api文档下载 1.API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口,一切可以调用的东西都是API. ...

  6. JAVA语言基础-面向对象(IO:IO字符流、递归)

    2019独角兽企业重金招聘Python工程师标准>>> 21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先 ...

  7. Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流

    IO流:(Input Output)流 字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的码表,获取对应的文字进行操作 简单说:字符流 = 字节流 + 编码表 字节流的两个顶层父 ...

  8. java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类

    目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...

  9. Java基础(17)——字节流、字符流

    目录 第一章 IO概述 1.1 什么是IO 1.2 IO的分类 1.3 IO的流向说明图解 1.4 顶级父类们 第二章 字节流 2.1 一切皆为字节 2.2 字节输出流[OutputStream] 2 ...

最新文章

  1. 老板说“把系统升级到https”,我用一个脚本实现了,而且永久免费!
  2. 低调!中国北斗核心卫星部署完成,开启“全球时代”!超越GPS指日可待
  3. 深入 理解 Statement 和 PreparedStatement
  4. 无向图的邻接矩阵存储,4个顶点、4条边
  5. Google 机器学习应用的43条经验法则
  6. 安卓之实现一个简单的电话拨号功能
  7. 品运维自动化之cobbler的安装序
  8. 佛言:人有二十难(为)
  9. 《私募证券投资基金业绩报酬指引(征求意见稿)》
  10. 快速突破面试算法之数组与矩阵篇
  11. Spring boot微服务项目中上传图片报错,The field file exceeds its maximum permitted size of 1048576 bytes.
  12. 等保2.0基本要求与等保1.0对比解读
  13. 学ui需要了解html,学UI设计需要掌握文案知识吗
  14. 随便聊聊,关于大学,未来的规划
  15. 常用的函数:atoi,itoa,atof,_ttoi等
  16. 关于Synergy无法启动
  17. 那些年,我们一起参加过的高考
  18. ext 中checkbox 无法取消选中行,全选按钮全选问题
  19. office2010官方下载 免费完整版
  20. 2022年TIOBE指数排行,Python位居榜首

热门文章

  1. 人工智能ai 学习_人工智能中强化学习的要点
  2. 最详细的 IDEA调试教程
  3. TextArea里Placeholder换行问题
  4. Java 邮箱判断 正则表达式
  5. Python3之logging输出写入日志
  6. java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型
  7. java 16进制整数,Java将整数转换为十六进制整数
  8. 太极计算机ehr系统,(数据科学学习手札21)sklearn.datasets常用功能详解
  9. php eurl.axd,Http异常eurl.axd出错信息解决方法
  10. java 开发详解_面向接口编程详解-Java篇