Java IO流

流的分类:1)数据方向:输入流与输出流

2)数据类型:字节流与字符流

3)数据功能:节点流与过滤流

当用到流时首先考虑是输入流还是输出流。

输入流:inputstream,所有字节输入流的父类,几个通用的方法:int read(),int read(byte[]),int read(byte[],int,int),void close(),int available(),void skip(long)...

输出流:outputstream,所有字节输出流的父类,几个通用的方法:void write(),void write(byte[]),void write(byte,int,int),void close(),void flush()...

过滤流:datainputstream,dataoutputstream.输入输出各种类型数据,writeboolean(bool):以1字节传送;writebyte(byte):以1字节传送;writechar(char):以2字节传送;writeint(int):以8字节传送;writedouble(double):8字节;writelong(long),writelong(long)...writeutf(string).

objectinputstream,objectoutputstream对象输入输出流.处理持久化网络方面用的比较多一些。object o = new object();

fileoutputsteam fos = new fileoutputstream("object.txt");

objectoutputstream oos = new objectoutputstream(fos);

oos.writeobject(o);

oos.close();

objectoutputstream与objectinputstream相反。

buffedinputstream,bufferedoutputstream过滤流,可以增加一个缓存,提高io的效率,内存速度还是比硬盘快很多的。属于牺牲空间换时间。

pipedinputstream,pipedoutputstream:管道流,用于线程之间的通信。

字符流:reader,writer。字节流与字符流的区别是:一个以字节为单位一个以字符为单位。java中字符是16位的unicode字符,所以8位的字节流必

须和16位的字符流进行转换。ascii编码:一个字符占1字节,并且所有的编码都兼容ascii。iso8859-1:一个字符占1字节。gb-2312/gbk:一个字符占2字节.unicode:一个字符占2字节(网络传送速度慢)。uft-8:变长,一个字符占1哥字节,一个汉字占2—3个字节。硬盘:filereader,filewriter;键盘:new inputstreamreader(system.in);内存:chararrayreader,chararraywriter。

字节流:硬盘fileinputstream,fileoutputstream;键盘:system.in,system.out;内存:bytearrayinputstream,bytearrayoutputstream.


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值