Java搞基IO流的基础二三事之一

来源:互联网 发布:知柏地黄丸多少钱一盒 编辑:程序博客网 时间:2024/06/05 19:42

简要概念

  • 文件:就是以存储介质为载体的存储在计算机上的显示方式的集合统称;
  • 路径:文件系统中的对象的唯一识别,分相对路径和绝对路径;
  • File类:Java.io包中提供的一系列对文件处理的接口和类;
  • 流:为用统一的方式对数据进行处理的一种称呼,简化代码操作;
  • 输出流,输入流:根据数据的流向所划分的区别;输入流只能读取数据,输出流只能写入;
  • 字节流:所操作的基本数据单元都是8位的字节,无论是输出还是输入都是直接对字节进行处理;
  • 字符流:所操作的基本数据单元都是16位的字符,同上都是直接对字符进行处理;
  • 节点流:从一个节点(特定的io设备)读写数据的流,也被称为低级流;节点通常指文件,内存,管道;
  • 处理流;对一个已经存在的流进行连接和封装,通过封装后的流实现数据的读写。也叫高级流;

流的体系结构如下图




卧槽好麻烦!是不是!讲真
但是Java能够狠方便的 的使用它,Java将io流分成很多类,每个类又分别提供字节输入流,字节输出流,字符输入流,字符输出流;
当然你要深挖的话,你就会花现有些流没有提供字符流。不要问我为什么,厂长是我表锅~~~

愚蠢的计算机(人类)
计算机中所有的数据都是以二进制的方式存储组织的,而字节流方便处理所有二进制文件,所字节流就比字符流在处理上要牛逼很多,但是由于牛逼坏了,用字节流处理文本信息的时候,就要用合适的编码方式转换成字符,不然就是乱码,,这样的话就加大了编程复杂性。因此聪明的人类就制定了一套规矩:
  • 所有的输入输出的内容都是文本内容的话,就用字符流;
  • 如果输入输出的内容都是二进制内容的话,就用字节流;




1 0
原创粉丝点击