Java IO学习笔记(一)
一、概念
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。在两设备间的传输的数据称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,以进行数据操作。
二、流分类
数据类型:字符流和字节流
流方向:输入流和输出流
字节流和字符流区别:
读写单位不同:字节流以字节(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类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断指定文件是否存在、获得当前目录中的文件列表,创建、删除文件和目录等方法。
最新文章
- Gradle 下载
- npm 基础
- SWFUpload 2.5.0版 官方说明文档 中文翻译版
- [分享] WIN7x64封装体积小于4G制作过程
- 【BZOJ】【3163】【HEOI2013】Eden的新背包问题
- SOA之(4)——服务实现的途径
- 部署新浪SAE web.py Session及图片上传等问题注意事项
- Mac下使用Fiddler
- Logistic Regression and Classification
- css样式图片、渐变、相关小知识
- 64位Ubuntu14.04搭建ADT开发环境
- 认证模式之Form模式
- RDIFramework.NET V3.3 Web版新增日程管理功能模块
- List的分组,求和,过滤操作
- FireMonkey 源码学习(2)
- jquery 初始化数据 添加html 第一次玩0.0
- IAR仿真时绿色箭头一直指向汇编界面,而C界面没有
- Easyui 官网网址
- js 在IOS系统微信浏览器内如何动态给title赋值
- Mac 10.12安装Office 2011
热门文章
- python调用C函数
- vue.js拓展篇(8):测试开发与调试
- 初识SVN-版本控制工具
- base64随机字符混淆加密、解密-美拍视频地址解密,反推加密算法
- G1垃圾收集器和CMS垃圾收集器 (http://mm.fancymore.com/reading/G1-CMS%E5%9E%83%E5%9C%BE%E7%AE%97%E6%B3%95.html#toc_8)
- Windows下Docker承载ASP.NET Core 应用
- SynchronizedMap和ConcurrentHashMap 区别
- poj2914无向图的最小割模板
- MPLS LDP随堂笔记1
- 201521123002 《Java程序设计》第6周学习总结