Java IO

Java IO

主要体系分为字节流(二进制数据传输),字符流(字符传输)

注:二进制数据可以通过不同的编码规则进行编码,输出不同的字符。相同的二进制串在不同的编码规则下可以表示不同的意思。(相当于解读的方法不同,得到的意思也不同)

注2:字节流以字节为单位进行传输,字符流以多个字节为单位进行传输,因为计算机中是以单字节(char)或者多字节(如UTF-8)来进行字符编码的

 

字节流:InputStream(输入流)、OutputStream(输出流)

字符流:Reader(读入)、Printer(输出)

 

操作对象:

  1. 文件(File)
  2. 数组(ByteArray,CharArray)
  3. 管道(Piped)
  4. 基本数据类型(Data)
  5. 缓冲操作(Buffered)
  6. 打印操作(Print)
  7. 对象的序列化和反序列化(将对象进行持久化保存)(Object)
  8. 转换(InputStreamReader,OutputStreamWriter)
  9. 字符串  (有疑问)

 

类的命名规则:

       操作字节流的类名为  操作对象+输入流(InputStream)/输出流(OutputStream)

       操作字符流的类名为  操作对象+读入(Reader)/输出(Printer)

 

相关类:

  1. 文件(File)
    1. 字节流处理
      1. FileInputStream
      2. FileOutputStream
    2. 字符流处理
      1. FileReader
      2. FileWriter
  2. 数组(ByteArray 字节数组,CharArray 字符数组)
    1. 字节流处理
      1. ByteArrayInputStream
      2. ByteArrayOutputStream
    2. 字符流处理
      1. CharArrayReader
      2. CharArrayWriter
  3. 管道(Piped)
    1. 字节流处理
      1. PipedInputStream
      2. PipedOutputStream
    2. 字符流处理
      1. PipedReader
      2. PipedWriter
  4. 基本数据类型(Data)
    1. 字节流处理
      1. DataInputStream
      2. DataOutputStream

注:该类操作对象没有字符流,因为字符串不是基本类型

  1. 缓冲操作(Buffered)
    1. 字节流处理
      1. BufferedInputStream
      2. BufferedOutputStream
    2. 字符流处理
      1. BufferedReader
      2. BufferedWriter
  2. 打印操作(Print)
    1. 字节流处理
      1. PrintStream
    2. 字符流处理
      1. PrintWriter

注:打印操作只需要输出

  1. 对象的序列化和反序列化(将对象进行持久化保存)(Object)
    1. 字节流处理
      1. ObjectInputStream
      2. ObjectOutputStream

注:序列化操作是通过字节流进行的,因此没有字符流类操作

  1. 转换(InputStreamReader,OutputStreamWriter)

输入字节流转化为字符读取:InputStreamReader

输出字节流转化为字符输出:OutputStreamWriter

  1. 字符串(StringBuffer)(存在疑问)

 

Java中字符和字节转换

str.getBytes():字符串转化为字节数组

new String(byte[] , Standard.UTF-8): 根据指定编码格式将字节编码成字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值