package cn.sasa.demo4;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; public class OutputStreamWriterDemo {
public static void main(String[] args) throws IOException {
/**
* FileWriter 不能指定字符编码
*
* 用OutputStreamWriter
* 将字符流转成字节流
*
*/
// writeGBK();
//writeUTF8();
//readGBK();
readUTF8();
} static void writeGBK() throws IOException {
//1、创建一个FileOutputStream,绑定目的
FileOutputStream output = new FileOutputStream("d:/sasa/test1225.txt"); //2、创建一个OutputStreamWriter,指定字符编码,
//构造函数的第二个字符串参数指定字符编码,不写默认是系统的默认编码GBK
OutputStreamWriter writer = new OutputStreamWriter(output); //3、调用write
writer.write("你好");
writer.flush();
writer.close();
} static void writeUTF8() throws IOException {
FileOutputStream output = new FileOutputStream("d:\\sasa\\utf.txt");
OutputStreamWriter writer = new OutputStreamWriter(output, "UTF-8");
writer.write("啦啦啦");
writer.flush();
writer.write("你好");
writer.flush();
writer.close();
} static void readGBK() throws IOException {
FileInputStream input = new FileInputStream("d:\\sasa\\test1225.txt");
InputStreamReader reader = new InputStreamReader(input);
char[] charArr = new char[1024];
@SuppressWarnings("unused")
int len = 0;
while((len = reader.read(charArr)) != -1) {
System.out.print(new String(charArr));
}
reader.close();
} static void readUTF8() throws IOException {
FileInputStream input = new FileInputStream("d:\\sasa\\utf.txt");
InputStreamReader reader = new InputStreamReader(input , "UTF-8");
char[] charArr = new char[1024];
@SuppressWarnings("unused")
int len = 0;
while((len = reader.read(charArr)) != -1) {
System.out.print(new String(charArr));
}
reader.close();
}
}

java 字符转换流的更多相关文章

  1. Java IO 转换流 字节转字符流

    Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| Fil ...

  2. Java第三十三天,IO操作(续集),字符转换流

    计算机都是以二进制码格式存储文件的,但是在读写文件的过程中,每个应用程序都有自己的编码格式.FileWrite和FileRead类是通过查询系统默认码表进行读写的,因此在自己的系统上能够实现编码的智能 ...

  3. Day17_103_IO_InputStreamReader 字符转换流

    InputStreamReader 字符转换流 * import java.io.InputStreamReader; 将字节输入流转换为字符输入流 * import java.io.OutputSt ...

  4. 【转载】Java IO 转换流 字节转字符流

    字节流输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.----------- ...

  5. [Java] 使用转换流来处理标准输入

    package test.stream; import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...

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

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

  7. JAVA-IO操作,字节-字符转换流

    掌握OutputStreamWriter和InputStreamReader类的作用 一般操作输入输出内容的时候,就需要使用字节或字符流,但是,有些时候,需要将字符流变成字节流形式,或者字节流变成字符 ...

  8. Java 之 转换流

    一.字符编码和字符集 二.编码引发的问题 当我们使用 UTF-8 编码保存文件时,用 UTF-8 再次读取不会出现任何问题.但是,当使用其他的编码(如GBK)读取文件时,就会出现乱码现象. Demo: ...

  9. JAVA IO分析一:File类、字节流、字符流、字节字符转换流

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

随机推荐

  1. npm和yarn的使用对比

    NPM YARN 说明 npm init yarn init 初始化某个项目 npm install/link yarn install/link 默认的安装依赖操作 npm install taco ...

  2. vue用组件构建应用

    组件系统是 Vue.js 另一个重要概念,因为它提供了一种抽象,让我们可以用独立可复用的小组件来构建大型应用.如果我们考虑到这点,几乎任意类型的应用的界面都可以抽象为一个组件树: 在 Vue 里,一个 ...

  3. 飞鱼48小时游戏创作嘉年华_厦门Pitch Time总结与收获

    一.48小时游戏开发前期准备 1,策划 明确美术队友和程序队友的水平,提需求的过程中尝试做减法,在保留核心玩法的基础上,看队友水平和时间判断是否添加需求. 策划是整个游戏团队的灵魂,也是开发的上限所在 ...

  4. linux memcached

    依赖库 yum install libevent libevent-deve 云安装 yum install memcached 源代码安装 wget http://memcached.org/lat ...

  5. ABBYY FineReader 12如何识别包含非常规符号的文本

    ABBYY FineReader 12 是一款OCR图文识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,有时文本中可能会包含一些非常规的符号,此时ABBYY ...

  6. QT动态库和静态库使用

    软件版本:QT5.12.0 + Qt Creator4.8.0 动态链接 动态链接库又叫"共享库",即sharedLib. Qt Creator中新建项目,选择"Libr ...

  7. [AWS] Deploy react project on EC2

    如何在aws部署项目 申请到亚马逊AWS免费账户后,我们可以拥有很多的免费云服务产品项目,其中包括: EC2云服务器. Amazon S3存储. Amazon RDS数据库. Amazon Cloud ...

  8. c __cplusplus详解

    Code:#ifdef __cplusplusextern "C" { #endif ... #ifdef __cplusplus} #endif 解释:1.c++中定义了__cp ...

  9. linux中free命令内存分析

    Mem(物理内存分配情况)行 total:表示物理 内存总量 used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用 free:未被分配的内存 s ...

  10. MapReduce处理HBase出错:XXX.jar is not a valid DFS filename

    原因:Hadoop文件系统没有检查路径时没有区分是本地windows系统还是Hadoop集群文件系统 解决:  只需将Map和Reduce的init方法最后一个参数(boolean addDepend ...