JAVA之IO

一、流的输入输出原理
    流是用来读写文件的,可以把文件看成一个水桶,程序想要获得数据,弄一个管道,让文件的数据流出来
    若想写入数据,弄一个管道,让数据流入文件(对于程序来说)
    所以输入流是读数据,输出流是写数据


二、输入流\输出流的分类
    按数据流的方向不同分为输入流和输出流
    按处理数据单位不同分为字节流和字符流
    按功能不同分为节点流和处理流


所有流类型都位于java.io包内,分别继承以下四种抽象流类型(对于程序来说)


              字节流            字符流
输入流       InputStream        Reader


输出流       OutputStream       Writer




三、
输入流、输出流
读数据是输入流,写数据是输出流
字节流、字符流
字节流:一个字节8位  字符流:一个字符=2个字节
节点流、处理流
节点流:管道直接连数据源  处理流:已经有管道了,又加了一层管道过滤到杂质


四、基本方法
void close():关闭流释放内存资源
void flush():将输出流中缓冲的数据全部写出到目的地
所以执行close之前最好flush一下


五、节点流类型
类型           字符流               字节流
File           FileReader          FileInputStream
               FileWriter          FileOutputStream


六、处理流类型
处理类型        字符流               字节流
Buffering      BufferedReader        BufferedInputStream
缓冲流        BufferedWriter        BufferedOutputStream


七、转换流
InputStreamReader和OutputStreamWriter用于字节数据和字符数据之间的转换


八、数据流
DataInputStream  DataOutputStream  属于处理流,可以处理各种类型的数据
省的转换类型,节省空间


九、Print流
PrintWriter和PrintStream都属于输出流,分别针对字符和字节
有print()和flush()方法


十、Object流
用于把对象写入文件
该对象需要实现serializable接口,标记该对象是可序列化的
序列化:可以转化为字节存入硬盘
transient关键字:透明,不作存盘考虑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值