字符编码

Java 流---字符流

 

前言:

当我们使用字节流来读取文件的时候,如果文件里全是英文,我们可以正常读取出来,但是要是变成了中文,我们在读取的时候就出现乱码,这是因为字符编码不同造成的,因为之前我们是的字节流是一个一个字节来读取,中文不是一个汉字占一个字节,在UTF-8中一个中文汉字是占3个字节,你一次读一个字节,难道把一个汉字拆分成3份来读取吗?所以我们不能用字节流来读取中文文件了。

 

字符流

 

先来看看字符流的父类(抽象类)

 

Reader :字符输入流 

public int read(){ }
public int read(char[ ] c){ }
public int read(char[ ] b,int off,int len){ }

 

 

Writer :字符输出流

public void write(int n){ }
public void  write(String str){ }
public void write(char[ ] c){ }

 

 

 

 

字符流读取:Filereader

 

我们先一个一个字符读,注意是字符了哈,不是字节了,一个字符可以等于多个字节

Java 流---字符流

我们再多个字符一起读

Java 流---字符流

 

字符流写入:Filewriter

Java 流---字符流

 

 

 

实例:实现文件的复制

 

字符流:复制文本文件

FileReader和FileWriter 只能复制文本文件,不能复制图片和二进制文件。只能使用字节流来复制任意文件,因为所有的文件、数据都是以二进制的形式存储的

 

Java 流---字符流

 

 

字符缓冲流 请看这里

 

相关文章:

  • 2022-12-23
  • 2021-10-19
  • 2021-05-31
  • 2021-12-05
  • 2021-06-01
  • 2021-12-07
  • 2022-12-23
猜你喜欢
  • 2021-06-01
  • 2022-12-23
  • 2021-09-24
  • 2021-10-14
  • 2021-04-20
  • 2021-08-12
  • 2021-05-14
相关资源
相似解决方案