IO流之字符流内存流等

IO流之字符流,内存流等

内存流

节点流:将数据直接读取或直接写入
		ByteArrayInputStream
			内存输入流
			:将运行内存中的数据输入到程序中
		ByteArrayOutputStream
			内存输出流	
			:将程序中的数据输出到运行内存中
			注意:内存输入刘,默认初始大小为32字节,不够时会自动扩容.
		特有方法:toByteArray():通过内存输出流获取其存储数据的数组
		缓冲流(重点):
			作用:提高读写速度
			过滤流,(包装流)
			BufferedInputStream
				提高读的速率
			BufferedOutputStream
				提高写的效率
			注意:
				1.包装流在关闭时,会关闭包装的节点流
				2,默认缓冲区为8kb

对象流:(次重点)

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

字符流:

特点:传递的最小单位是char(字符)
					不能传递视频音频等内容,只能传递文本;
			体系结构:
			FileReader
			FileWriter
	Reader
			提供的方法:
				read():一次读取一个字符,返回值就是取到的字符,返回值-1表示读取结束
				read(char[] c):一次读取一组字符到c数组中,返回时 为读取到的 字符长度,-1表示结束.
				read(char[] c,int off,int len)一次读取一组字符到数组cbuf中,从off位置开始存储,存储len个.返回值为读取到的字符长度,-1表示结束
				close():关流
	Writer
			提供的方法:
				void write(int c):一次写入一个字符;
				void write(char[] c):一次写入一组字符 ;
				void write(char[] c ,int off , int len):将c中的off位置,len个字符写入.
				void write(String str):将一个字符串写入;
				void write(String str,int off,int len):将一个字符串从off位置开始,len个长度写入.
				void flush():冲刷

文件流

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

缓冲流与转换流

缓冲流

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

转换流

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

标准输出流

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

###相关编码格式

编码格式:
		ASCII:
		Unicode:
		GBK:
		...
		UTF-8:对中文的支持比GBK好

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值