Java——字符串和字符流的编码解码、字符流读写、字符缓冲流
一、字符串中的编码解码
1、编码
- byte[] getBytes():使用平台的默认字符集将该String编码为一系列字节,将结果存储在新的字节数组中
- byte[] getBytes(String charsetName):使用指定的字符集将该String编码为一系列字节,将结果存储在新的字节数组中
2、解码
- String(byte[] bytes):通过平台的默认字符集解码指定的字节数组来构造新的String
- String(byte[] bytes, String charsetName):通过指定的字符集解码指定的字节数组来构造新的String
import java.io.IOException;
import java.util.Arrays;
public class Demo1 {
public static void main(String[] args) throws IOException {
String str = "中国";
byte[] bys = str.getBytes();
System.out.println(Arrays.toString(bys));
String s = new String(bys);
System.out.println(s);
System.out.println("------------------");
byte[] bys1 = str.getBytes("UTF-8");
System.out.println(Arrays.toString(bys1));
String s1 = new String(bys, "UTF-8");
System.out.println(s1);
System.out.println("------------------");
byte[] bys2 = str.getBytes("GBK");
System.out.println(Arrays.toString(bys2));
String s2 = new String(bys2, "GBK");
System.out.println(s2);
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/1d4a9047c1a942019b826d9c925481e5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc21pbGU0NTQ4NjU2,size_20,color_FFFFFF,t_70,g_se,x_16)
二、字符流中的编码解码
1、字符流抽象基类
- Reader:字符输入流的抽象类
- Writer:字符输出流的抽象类
2、字符流中编码解码相关的两个类
- InputStreameReader
- OutputStreamWrite
3、示例
import java.io.*;
public class Demo2 {
public static void main(String[] args