Demo02.java 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package course;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title Demo02
  6. * @description 字符流
  7. * @create 2026/8/7
  8. */
  9. public class Demo02 {
  10. /*
  11. 由于字节流操作字符(特别是中文)不方便,所以Java提供了字符流
  12. 字符流 = 字节流 + 字符集编码表
  13. 什么是字符集编码表?
  14. 是一个系统支持的所有的字符的集合 ,包括各个国家的文字、符号、图像符号、数字等等
  15. 计算机要像识别这些文字和符号,就需要存储一套编码表,然后按照表中的对应关系,存储对应的字符编码。
  16. 常见的字符编码:ASCII、GB-2312、GBK、Unicode(UTF-8)
  17. 字符转转对于的字节编码的方式:
  18. 这些都是String类提供的编码方式
  19. public byte[] getBytes() 使用平台(操作系统)默认的字符集把这个字符串转换为一系列字节
  20. public byte[] getBytes(Charset charset) 使用指定的字符集把这个字符串转换为一系列字节
  21. public byte[] getBytes(String charsetName)使用指定的字符集名称把这个字符串转换为一系列字节
  22. String类提供的解码方式
  23. public String(byte[] bytes) 使用平台(操作系统)默认的字符集把这组字节数组解码为字符串
  24. public String(byte[] bytes, Charset charset) 使用指定的字符集把这组字节数组解码为字符串
  25. public String(byte[] bytes, String charsetName) 使用指定的字符集把这组字节数组解码为字符串
  26. 字符流:
  27. |-输入字符流 :Reader 是输入字符流的抽象类
  28. |- 文件输入字符流 FileReader
  29. |-输出字符流 :Writer 是输出字符流的抽象类
  30. |- 文件输出字符流 :FileWriter
  31. 字符流自带缓冲区,可以使用flush()刷新缓冲区,强制把缓冲区的内容写入到文件中。
  32. 文件字符输入输出流的创建对象方式:
  33. public FileReader(String fileName) 根据文件名创建文件字符输入流,使用的是系统默认字符集
  34. public FileReader(File file) 根据file对象创建文件字符输入流,使用的是系统默认字符集
  35. public FileReader(String fileName, Charset charset)根据文件名创建文件字符输入流,使用的是指定字符集
  36. public FileWriter(String fileName)根据文件名创建文件字符输出流,使用的是系统默认字符集
  37. public FileWriter(File file)根据file对象创建文件字符输出流,使用的是系统默认字符集
  38. public FileWriter(File file, boolean append)根据file对象创建文件字符输出流,使用的是系统默认字符集,设置可以追加
  39. public FileWriter(String fileName, Charset charset)根据文件名创建文件字符输出流,使用的是指定字符集
  40. 读取和写入的方法:
  41. write(int c) 写一个字符
  42. write(char[] c) 写一个字符数组的内容
  43. write(char[] c, int off, int len) 写一个字符数组的内容,从off开始,长度为len
  44. write(String str) 写一个字符串
  45. write(String str, int off, int len) 写一个字符数组的内容,从off开始,长度为len
  46. flush() 刷新流,把把缓冲区的内容写入到文件中。
  47. close() 关闭流
  48. read () 读取一个字符
  49. read (char[] c, int off, int len) 读取一部分字符数组
  50. */
  51. }