java IO流 之 概念

 

IO: input(读)  output(写)  
流:流动的是数据,从一端(程序)移动另一端(数据源),是抽象、动态的概念,是一连串连续动态的数据集合。

一切以程序为中心,进来叫输入,出去叫做输出。

数据源:data source。提供原始数据的媒介,常见的:数据库、文件、其他程序、内存、网络连接、IO设备。

流分类:
 输入流:数据到程序(InputStream、Reader读进来)
 输出流:程序到目的地(OutputStream、Writer写进去)

按功能:
 节点流:可以直接从数据源或目的地读写数据
 处理流:(包装流、装饰设计模式、装饰流) 不直接连接到数据源或目的地,是其他流进行封装。目的主要是简化操作和提高性能。
 关系:
  1.节点流处于IO操作的第一线,所有操作必须通过他们进行
  2.处理流可以对其他流进行处理(提高效率和灵活性)

按数据:
 字节流:按照字节读取数据(InputStream、OutputStream)
 字符流:按照字符读取数据(Reader、Writer),因为文件编码的不同,从而有了对字符进行高效操作的字符流对象。原理:底层还是基于字节流进行操作,自动搜寻了指定的码表。

字符集:计算机只能看懂01,对其进行翻译
  utf-8
  gbk
  Unicode

 

java.io包中最重要的5个类和3个接口
核心类:

 File文件类
 InputStream:字节输入流
 OutputStream:字节输出流
 Reader:字符输入流
 Writer:字符输出流
接口:
 Closeable:关闭流接口 释放资源
 Flushable:刷新流接口 阻塞刷新
 Serializable:序列化接口  存储对象
  
file:
字节流:数据以字节的方式存储,在计算机中以二进制存储。 
字符流:中英文,直接操作字符的方式
CommonsIO:

File:文件和路径名的抽象表示
  jvm ——> windows——>硬盘(file)

  API > default
 API有构造方法:
  new 构造方法();
 API没有构造方法:
  1.工具类:Math(基本都是静态方法)
  2.某一些静态方法返回了这个类的对象:Runtime(单例设计模式的实现)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值