java的IO API(3)

java.io.Serializable

  • 此接口仅表示可序列化语义,某个类实现这个接口,就是说这个类表示了可以序列化这个语义,这个类的子类也同样具备序列化语义,这个类需要提供一个常量SerializableUID用来表示本类的序列化版本号,如果想跨平台,就需要声明一个版本号,且平台;两端的版本必须相同
  • 序列化类中可以有很多的属性,但是部分属性不想被序列化和反序列化,把类中不需要序列化的属性前加上transient修饰符
transient:瞬间的,短暂的,临时的
public class Student implement Serializable{
	private static final long serialVersionUID=1L;
	private transient String name;//不可以序列化
	private int age;//能序列化
	method方法
	field 属性
}

数据流:高级流之一

  • DataInputStream 数据输入流,适合对Java基本数据类型的输入
//构造方法
	DataInputStream(InputStream)
//api方法:
	readInt();
	//类似的方法,readXXX():XXX表示的是具体的某种类型
	
``
- DataOutputStream 数据输出流,适合对Java基本数据类型的输出
	```
	//构造方法
		DataOutputStream(OutputStream)
	//api方法
		writeInt();
		类似的方法,writeXXX()方法:XXX代表的具体的某种类型
	```
## 字符流:高级流
- 针对字符流做低级流的二次或三次的封装或处理,字符流也是高级流,字符流的本质还是字节流

## Reader类:
- 是所有字符流的父类
- 是一个抽象类

- int read()
	读取一个字符,是占用整数数据的低16位,低16位有效	
- int read(char[] chars)
	读取一个字符数组的length个字符,并存储到数组中返回的是实际读取的字符量
- int read(char[] chars,int offset,int len)
	读取len个字符,存储给字符数组中,以offset位置为起点
## Writer类
- 是所有字符流的父类
- 是一个抽象类
- void write(int c)
写出一个字符
- void write(char[] chars)
写出一个数组的字符数据
- void write(char[] chars,int offset,int len)
写出数据,从offset开始,取len个字符
- void write(String str)
写出一个字符串
- void write(String str,int offset,int len)
写出字符串数据中的部分数据
## InputStreamReader类:字符输入流
- 可以设置字符集
- 按照指定的字符集输入数据
- 将字节按照指定的额字符集读取字符串数据
- 继承自Reader类
## OutputStreamWriter类:字符输出流
- 可以设置字符集
- 按照指定的字符集写出数据
- 将字节按照指定的字符集写出字符串数据
- 继承自writer类
## 缓冲字符流
缓冲字符流自己维护一个缓冲的字符数组
## BufferedReader类:缓冲字符流输入
- String readLine();//度一行字符数据,读到末尾为null
## BufferedWriter类:缓冲字符流输出
## PrintWriter类
- 特殊的类,只有输出,没有输入
- 世俱杯自动行刷新的缓冲字符输出流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值