IO

来源:互联网 发布:axure mac安装教程 编辑:程序博客网 时间:2024/06/08 04:17

1.IO简介

I:input 读  输入流

       O:output  写  输出流

流:是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。

即数据在两设备间的传输称为流,流的本质是数据的传输,根据数据传输特性

将流抽象为各种类,方便更直观的进行数据操作。

2.IO分类:

  根据处理数据类型不同分为:字符流和字节流

  根据数据流流向不同分为:输入流和输出流


字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的流对象。

本质其实基于字节流读取时,去查了指定的码表。


3.字符流与字节流的区别:

  1.读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码

表映射,一次可能读多个字节。

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

能处理字符类型的数据。

结论:只要是处理纯文本数据,就优先考虑使用字符流。除此之外多使用字节流


4.输入字节流与输出字节流:

    1.输入字节流:inputStream()是所有的输入字节流的父类,是一个抽象类

    2.输出字节流:outputStream()是所有输出字节流的父类,是一个抽象类


5.字符流与字节流的转换:

 转换流的特点:1.是字符流与字节流的桥梁

        2.对读取到的字节数据经过指定编码转换为字符

   3.可对读取到的字符数据经过编码转换为字节

何时使用转换流:

    1.当字节和字符有转换动作时

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

具体的对象体现:

  inputStreamReader:字节到字符的桥梁

  outputStreamWriter:字符到字节的桥梁


6.File类:

     是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来

操作文件和文件夹。File类保存文件或目录的各种元数据信息,包括文件名,文

件名,文件长度,最后修改时间,是否可读,获取当文件的路径名,判断指定文

件是否存在,获取当前目录中文件列表,创建,删除文件和目录等方法。


7.递归:是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入

现象。如同:自己调用自己。

优点:思路清晰,代码少。但是在主流高级语言中(如c语言,pascal语言等)

使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制是(如嵌入式系统

或内核态编程),应避免使用。所有的递归算法多可以改成与之等价的非递归

算法。

8.开源:

          开放源代码,没有加密

开源数据库:这个数据库没有加密的,代码就是开放的。数据库作用都是用于

动态语言开发的网站。


原创粉丝点击