java IO概述

本来不想写这个专题的文章,看到许多大神的博客介绍都特别详细,一篇文章总结了IO里所有的知识点,非常全面。 比如这一篇:
http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html

但是对于我这种初学者来说,实在看不下去,我还是自己一节一节的总结吧!

IO简述

IO,顾名思义Input和Output。
常见的输入输出设备如下:

  • 输入设备:麦克风,扫描器,键盘,鼠标
  • 输出设备:显示器,打印机,投影仪,耳机

IO流的分类

角度不同,分类方式不同:

  • 根据流向:输出流和输入流
  • 根据数据单位:字节流和字符流
  • 根据功能不同:节点流和包装流

  • IO家族
    这里写图片描述

四大基流

分类字节流字符流
输出流OutputStreamWriter
输入流InputStreamReader
  • 四大基流都是抽象类,所以不能创建四大基流的对象,只能创建其子类的对象,其他流都继承于这四大基流。

操作IO流的模板

1.创建源或目标对象

2.创建IO流对象

3.具体的IO操作

  • 输入流—read()方法
  • 输出流—write()方法

4.关闭资源(close()方法)

统称为:读进来,写出去

下面引用一段话:

关于字节流和字符流的区别

实际上字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的,但是字符流在操作的
时候下后是会用到缓冲区的,是通过缓冲区来操作文件的。

读者可以试着将上面的字节流和字符流的程序的最后一行关闭文件的代码注释掉,然后运行程序看看。你就会发现使用字节流的话,文件中已经存在内容,但是使用字符流的时候,文件中还是没有内容的,这个时候就要刷新缓冲区。

使用字节流好还是字符流好呢?

答案是字节流。首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。但是字符只是在内存中才会形成的,所以在开发中,字节流使用广泛。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值