Java基础学习笔记之八--IO流(2)

***内存流  

ByteArrayOutputStream/ByteArrayInputStream

  ByteArrayOutputStream baos = 
new ByteArrayOutputStream();
  分析:
  (1)在内存中创建了一个可以自动增长的字节数组
  (2)创建一个输入流,指向该字节数组
  (3)baos.toByteArray() 查看这个字节数组里的内容

***转换流(用在字节数据和字符数据之间的转换)
  InputSteramReader/OutputStreamWriter
  1.InputStreamReader -(将InputStream 包装成字符流Reader)
  2.OutputStreamWriter -(将OutputStream 包装成字符流Writer)
  3.在使用的时候,可以再转换流上,再套上一层缓冲流。
    BufferedReader -->Reader -->readLine()
    BufferedWriter -->Writer -->write("str")   
***数据流 处理流(套接在InputStream/OutputStream上)
  int  - 占用4个字节  
  long - 占用8个字节
  float- 占用4个字节
  double 占用8个字节  
  可以直接处理数据,而不用把数据#转换成字符#或者#字符串#处理
---------------------------------------------------------
***Print流(打印流)
  PrintWriter和PrintStream都属于输出流,分别针对字符字节。
  Print流不会往外抛异常,有自动的flush功能

***Object流
  直接对object写入或者读出。
  Serializable--标记性接口(里面没有成员和方法)
  序列化--将一个对象,直接转换成字节或者流,在网络
中传输,或者直接写到硬盘中。

  transient:透明的,在序列化时忽略它修饰的变量

你可能感兴趣的:(Java基础学习笔记之八--IO流(2))