Java-6-IO
2015-08-22 11:02
274 查看
Ø 课堂讨论要点:
1. 文件的概念
a. 狭义文件
磁盘的具体文件
目录是一种特殊的文件,目录其实是一个文本文件,其中包含了这个目录下所有文件的信息。
b. 广义文件概念
任何非CPU的介质和外设,我们都可以称其为文件,和其通讯。
比如:显示器,打印机,扫描仪等。
2. 基于流的IO操作
底层IO操作是复杂的,涉及到大量硬件环节,比如磁盘存储,涉及到磁道、扇面等非常底层的信息, 比如网络通讯,则涉及到TCP/IP非常复杂的内容。
为了掩盖这些复杂的底层信息,让程序员能够从事更加高层的业务编程,J***A语言用了流I/O模式来掩盖了底层实现细节,同时编制了大量底层类,把底层概念已经封装完毕。
我们要做的就是用流I/O框架来思考,用流I/O的库来编程,最终这些信息将通过J***A的原生底层库转化成具体的硬件操作。
a. 预先默认打开的两个流
System.out 标准输出流 绑定的文件:显示器
System.in 标准输入流 绑定的文件: 键盘
以CPU为参照物,来决定是输入流(InputStream), 还是输出流(OutputStream)
b. 流的类型
1) 字节流,二进制流 (binary stream)
优点:可以传送传送任何数据,而不丢失,速度极快!
缺点:如果传送文字信息,则可读性太差,人工阅读困难。
任何java流在初始阶段都是二进制流。
二进制流在命名上一般叫 xxxInputStream, xxxOutputStream.
2) 字符流 (character stream)
有些流里头传送的是字符数据,建议把这样的流在进入CPU前做一个格式转化,把其转成字符流,以提高CPU处理的效率。
二进制流到字符流的转化
二进制流每16个bit为一个单位划转,系统会把其理解称为unicode编码数字,并对应一个字符。
字符流的命名上一般叫xxxReader, xxxWriter .
1. 文件的概念
a. 狭义文件
磁盘的具体文件
目录是一种特殊的文件,目录其实是一个文本文件,其中包含了这个目录下所有文件的信息。
b. 广义文件概念
任何非CPU的介质和外设,我们都可以称其为文件,和其通讯。
比如:显示器,打印机,扫描仪等。
2. 基于流的IO操作
底层IO操作是复杂的,涉及到大量硬件环节,比如磁盘存储,涉及到磁道、扇面等非常底层的信息, 比如网络通讯,则涉及到TCP/IP非常复杂的内容。
为了掩盖这些复杂的底层信息,让程序员能够从事更加高层的业务编程,J***A语言用了流I/O模式来掩盖了底层实现细节,同时编制了大量底层类,把底层概念已经封装完毕。
我们要做的就是用流I/O框架来思考,用流I/O的库来编程,最终这些信息将通过J***A的原生底层库转化成具体的硬件操作。
a. 预先默认打开的两个流
System.out 标准输出流 绑定的文件:显示器
System.in 标准输入流 绑定的文件: 键盘
以CPU为参照物,来决定是输入流(InputStream), 还是输出流(OutputStream)
b. 流的类型
1) 字节流,二进制流 (binary stream)
优点:可以传送传送任何数据,而不丢失,速度极快!
缺点:如果传送文字信息,则可读性太差,人工阅读困难。
任何java流在初始阶段都是二进制流。
二进制流在命名上一般叫 xxxInputStream, xxxOutputStream.
2) 字符流 (character stream)
有些流里头传送的是字符数据,建议把这样的流在进入CPU前做一个格式转化,把其转成字符流,以提高CPU处理的效率。
二进制流到字符流的转化
二进制流每16个bit为一个单位划转,系统会把其理解称为unicode编码数字,并对应一个字符。
字符流的命名上一般叫xxxReader, xxxWriter .
相关文章推荐
- java SWT中Label实时刷新当前时间
- Java-5-异常
- Struts(15)类型转换
- Java-4-重载多态
- Struts(14)本地化/国际化(i18n)
- Struts(13)验证框架
- Java-3-继承
- Struts(12)MySQL数据库访问
- Java-2-类
- Struts(11)文件上传
- Struts(10)值栈/OGNL
- Java--集合
- Struts(9)结果和结果类型
- Test Spring el with ExpressionParser
- Struts(8)拦截器
- 使用Java Servlet进行简单登录
- Spring MVC 教程,快速入门,深入分析
- Java-1-简介
- SpringMVC存取Session的两种方法
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?