Java学习笔记day22

内存流(了解)

注意: 节点流
ByteArrayInputStream: 内存输入流(了解)
	作用: 将运行内存中的数据读取到程序中
	
ByteArrayOutputStream: 内存输出流
	作用: 将程序中的数据存储到运行内存中
	注意: 内存输入流自带内存默认初始大小32字节,当不够时会自动扩容
	特有方法: 
		toByteArray(): 通过内存输出流获取其存储数据的数组

缓冲流(重点)

作用: 提高读写效率
注意: 过滤流(包装流)
BufferedInputStream
	作用: 提高读的效率
BufferedOutputStream
	作用: 提高写的效率
	
注意: 
	1.包装流在关闭时,会关闭它所包装的节点流
	2.默认缓冲区为8kb

对象流(次重点)

作用: 读写对象
注意: 过滤流(包装流)

ObjectInputStream
	特有方法: 
		readObject(): 读取对象
		注意: 要保证文件中有对象
ObjectOutputStream
	特有方法: 
		writeObject(): 写出对象
		
注意: 
	读写的对象所属的类必须实现序列化接口,包括对象的数据类型也需要实现序列化
	
序列化: 
	让对象所属的类实现Serializable接口
	
	注意: 
		1.八个基本数据类型包装类与String都已经实现了Serializable接口
		2.不能序列化的对象有: 
			1.使用transient修饰的属性为瞬时属性,不参与序列化
			2.使用static修饰的属性,不参与序列化

字符流

特点

传递最小单位是char(字符)
不能传递音频视频图片等内容,只能传递文本

体系结构

Reader
	提供的方法
		int read(): 一次读取一个字符,返回值就是读取到的字符,返回值-1表示读取结束
		int read(char cbuf[]): 一次读取一组字符到数组cbuf中,返回值为读取到的字符长度,-1表示结束
		int read(char cbuf[], int off, int len): 一次读取一组字符到数组cbuf中,从off位置开始存储,存储len个,返回值为读取到的字符长度,-1表示结束
		void close(): 关流
Writer
	提供的方法: 
		void write(int c): 一次写入一个字符
		void write(char cbuf[]): 一次写入一组字符
		void write(char cbuf[], int off, int len): 将cbuf中off位置开始,len个字符写入
		void write(String str): 将一个字符串写入
		void write(String str, int off, int len): 将一个字符串从off位置开始,len个长度的字符写入
		void flush(): 冲刷
		void close(): 关流

文件流

FileReader
	作用: 将文本文件的内容读取到程序中
FileWriter
	作用: 将程序中的数据写入到文本文件中
优点: 
	相对于字节流读取文本文件,字符流不会出现乱码,因为一次就将一个字符读取结束了,不会像字节流可能会读取一个字符的一半字节
	
缺点: 
	相对于字节流而言,字符流只能操作文本文件

缓冲流(重点)

BufferedReader
	作用: 提高字符流读取的效率
	默认缓冲区大小: 8192字符
	特有方法: 
		readLine(): 一次读一行
BufferedWriter
	作用: 提高字符流写出的效率
	默认缓冲区大小: 8192字符
	特有方法: 
		newLine(): 给内容中写入一个换行

转换流

InputStreamReader
	作用: 将字节流输入流转换为字符输入流
	注意: 将读取到的文本文件与代码的编码格式不同时,转换流可以设定读取的编码格式,防止中文乱码,参数为文本文件的编码格式,ANSI == GBK,Eclipse不支持ANSI
	
OutputStreamWriter
	作用: 将字符输出流转换为字节输出流
	注意: 当写入到的文本文件与代码的编码格式不同时,转换流可以设定写入的编码格式,防止中文乱码

标准输出流(了解)

PrintWriter
	特有方法: 
		print();
		println();

编码格式

最原始的计算机数据: 0, 1
所以将01可以排列使其形成二进制
再将二进制转换为十进制

a: 97
b: 98
c: 99
 : 0
...

ASCII: 只有一些国家的文字
Unicode: 万国码,在ASCII上增加多国字符
	一个字符2个字节
GBK: 加了一些中文,在Unicode基础上增加中文
	假设 12345: 你
UTF-8: 加了一些中文,在Unicode基础上增加中文
	假设 12345: 爜
	UTF-8: 对中文的支持比GBK好
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值