编码和解码
常见的字符编码: ASCII: 包含最基本字符(英文字母、数字、标点符号...) GBK: 兼容ASCII编码,还包含中文。 一个汉字占2个字节 UTF-8: 兼容ASCII编码,包含中文,还包含其他国家的文字 一个汉字占3个字节
String类提供的方法可以进行编码和解码
public byte[] getBytes() 使用默认的编码格式(UTF-8)把字符串转换为字节数组public byte[] getBytes(String charset) 使用指定的编码表把字符串转换为字节数组public String(byte[] bs) 使用默认的编码(UTF-8),把字节数组转换为字符串public String(byte[] bs,String charset) 使用指定的编码,把字节数组转换为字符串
字符流操作
字节流:读写字节数据的 字节输入流(InputStream) -- FileInputStream: 读文件中的字节 -- BufferedInputStream: 提高读取的效率 字节输出流(OutputStream) -- FileOutputStream: 写入文件中的字节 -- BufferedOutputStream:提高写入的效率 字符流:读写字符数组 字符输入流(Reader) -- FileReader: 读取文件中的字符 -- BufferedReader: 提高读取的效率 字符输出流(Writer) -- FileWriter: 往文件中写入字符数据 -- BufferedWriter:提高写入得效率
字符流写字符
//1.创建流对象,我们想往文件中写入字符数据,选择FileWriterFilewriter fw=new FileWriter("day12/a.txt");//2.写数据//写一个字符fw.write(97);fw.write('a'); //字符'a' //写一个字符串fw.write("hello");//写入换行符fw.write("\r\n"); //写一个字符数组char[] chs={
'a','b','c','d','c'};fw.write(ch);//写入字符数组的一部分fw.write(ch,0,3);//3.释放资源fw.close();
字符流读字符
//1.创建流对象,我们想读取文本文件,选择FileReaderFileReader fr = new FileReader("day12/a.txt");//2.读取字符数据char[] chs = new char[1024];int len; //读取的