一、概念

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。在两设备间的传输的数据称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,以进行数据操作。

二、流分类

数据类型:字符流和字节流

流方向:输入流和输出流

字节流和字符流区别:

读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。

处理对象不同:字节流能处理所有类型的数据(如图片、rmvb等),字符流只能处理字符类型的数据。

处理纯文本数据,优先使用字符流,此外都使用字节流。

输入流和输出流:

对输入流只能进行读操作,对输出流只能进行写操作。

三、Java IO流对象

InputStream:所有输入字节流的父类。ByteArrayInputStream、StringBufferInputStream、FileInputStream是三种基本的介质流,分别从Byte数组、StringBuffer、本地文件中读取数据。

OutputStream:所有输出字节流的父类。ByteArrayOutputStream、FileOutputStream是两种基本的介质流,它们分别向Byte 数组、本地文件中写入数据。

Reader:所有的输入字符流的父类。CharReader、StringReader是两种基本的介质流,它们分别将Char数组、String中读取数据。

Writer:是所有的输出字符流的父类。CharArrayWriter、StringWriter是两种基本的介质流,它们分别向Cha 数组、String中写入数据。

字符流与字节流转换:

1、转换流的特点

转换流是字符流和字节流之间的桥梁

将读取到的字节数据经过指定编码转换成字符

将读取到的字符数据经过指定编码转换成字节

2、何时使用转换流

当字节和字符之间有转换动作时

流操作的数据需要编码或解码时

3、具体的对象体现

InputStreamReader:字节流转换为字符流的桥梁,其子类FileReader就是实现此功能的具体类。

OutputStreamWriter:字符流转换为字节流的桥梁,其子类FileWriter就是实现此功能的具体类。

这两个流对象是字符体系中的成员,具有转换作用,自身又是字符流,所以在构造的时需传入字节流对象。

四、File类

File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断指定文件是否存在、获得当前目录中的文件列表,创建、删除文件和目录等方法。

最新文章

  1. Gradle 下载
  2. npm 基础
  3. SWFUpload 2.5.0版 官方说明文档 中文翻译版
  4. [分享] WIN7x64封装体积小于4G制作过程
  5. 【BZOJ】【3163】【HEOI2013】Eden的新背包问题
  6. SOA之(4)——服务实现的途径
  7. 部署新浪SAE web.py Session及图片上传等问题注意事项
  8. Mac下使用Fiddler
  9. Logistic Regression and Classification
  10. css样式图片、渐变、相关小知识
  11. 64位Ubuntu14.04搭建ADT开发环境
  12. 认证模式之Form模式
  13. RDIFramework.NET V3.3 Web版新增日程管理功能模块
  14. List的分组,求和,过滤操作
  15. FireMonkey 源码学习(2)
  16. jquery 初始化数据 添加html 第一次玩0.0
  17. IAR仿真时绿色箭头一直指向汇编界面,而C界面没有
  18. Easyui 官网网址
  19. js 在IOS系统微信浏览器内如何动态给title赋值
  20. Mac 10.12安装Office 2011

热门文章

  1. python调用C函数
  2. vue.js拓展篇(8):测试开发与调试
  3. 初识SVN-版本控制工具
  4. base64随机字符混淆加密、解密-美拍视频地址解密,反推加密算法
  5. G1垃圾收集器和CMS垃圾收集器 (http://mm.fancymore.com/reading/G1-CMS%E5%9E%83%E5%9C%BE%E7%AE%97%E6%B3%95.html#toc_8)
  6. Windows下Docker承载ASP.NET Core 应用
  7. SynchronizedMap和ConcurrentHashMap 区别
  8. poj2914无向图的最小割模板
  9. MPLS LDP随堂笔记1
  10. 201521123002 《Java程序设计》第6周学习总结