美文网首页
io——流类

io——流类

作者: 鉴闻俗说 | 来源:发表于2017-12-20 22:44 被阅读0次

一、 流的概念

Java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备连接。尽管与它们连接的物理设备都不尽相同,但是所有流的行为具有同样的方式。因此,同样的输入/输出类和方法适用于所有类型的外部设备。这就意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台,磁盘文件或相连的网络。流是处理输入/输出的一个纯净的方法,例如它不需要代码理解键盘和网络的区别。Java中流的实现是在java.io包定义的层次结构内部的。

二、 输入/输出流概念

1、 输入输出时,数据在通信通道中流动。所谓“数据流(Stream)”指的是所有数据通信通道之中,数据的起点和终点。信息的通道就是一个数据流。只要是数据从一个地方“流”到另一个地方,这种数据流动的通道都可以称为数据流。

2、 输入/输出是相对于程序来说的。程序在使用数据时所扮演的角色有两个:一个是源,一个是目的地。若程序是数据流的源,即数据的提供者,这个数据流对于程序来说就是一个“输出数据流”(数据从程序流出)。若程序是数据流的终点,这个数据流对程序而言就是一个“输入数据流”(数据从程序外流向程序)。

三、 输入/输出类

1、 在java.io包中提供了60多个类(流)。
2、 从功能上分为两大类:输入流和输出流。
3、从流结构上可分为字节流(以字节为处理单位或称为面向字节)和字符流(以字符为处理单位或称为面向字符)。

四、字节流和字符流

1、 字节流的输入流和输出流基础是InputStream和OutputStream这两个抽象类,字节流的输入输出操作由这两个类的子类实现。字符流是Java1.1版后新增加的以字符为单位进行输入输出处理的流,字符流的输入输出基础是抽象类Reader和Writer。

2、 Java 2 之前只有字节流,Java 2 中定义了字符流。字节流(byte stream)为处理字节的输入和输出提供了方便。例如使用字节流读取或写入二进制数据。字符流(character stream)为字符的输入和输出提供了方便。它们采用了统一的编码标准,因而可以国际化。当然在某些场合,字符流比字节流更有效。

3、需要注意的是:在Java的最底层,所有的输入/输出都是字节形式的。基于字符的流只是为了处理字符提供方便有效的方法。

4、字节流类用于向字节流读写8位二进制的字节;字符流类用于想字符流读写16位二进制字符。

五、 流的分类

  • 第一种划分方法 两种基本的流是:输入流(Input Stream)和输出流(Output Stream)。可从中读出一系列字节的对象称为输入流。而能向其中写入一系列字节的对象称为输出流。

1、输入流
读数据的逻辑为

open a stream
while more information
read information
close the stream //一定要记住关闭流

2、输出流
写数据的逻辑为

open a stream 
while more information
write information
close the stream //一定要记住关闭流
  • 第二种划分方法
    节点流:从特定的地方读写的流类,例如:此案或一块内存区域。
    过滤流:使用节点流作为输入或输出。过滤流是使用一个已经存在的输入流或输出流连接创建的。
    image.png

上一篇:装饰模式(Decrator)

相关文章

  • io——流类

    一、 流的概念 Java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理...

  • java IO流

    java IO流 java流操作的类和接口 java流类图结构 IO流的定义 流是一组有顺序的,有起点和终点的字节...

  • IO流File类

    File类的运用 创建文件 判断文件是否存在,进行创建 相关常用方法 创建文件夹 多的用的时候在看吧,东西好多~好...

  • 结构型 装饰器模式(文末有项目连接)

    1:从IO引入(奇怪的IO类) 字节流字符流输入流InputStreamReader输出流OutputStream...

  • Java IO流(二)

    IO流常用基类 字节流的抽象基类:InputStreamOutputStream字符流的抽象基类: ReaderW...

  • Java IO流详解(二)——IO流的框架体系

    本篇文章主要介绍IO流的分类、概念以及IO流中的四大基类,通过对IO流中的框架体系进行介绍,对IO流有一个整体的了...

  • 从0开始复习java(9)--IO

    Java的io通过java.io包下的类和接口支持。主要有输入、输出流,又分为字节流和字符流。Java的io流使用...

  • JavaSE知识点15java输入输出流详解

    1 什么是IO? 1 Java的IO机制有流IO和块IO两种,核心库 java.io是大多数面向数据流的IO类的主...

  • java IO入门笔记

    1.java IO流的概念,分类,类图 1.1. java IO 流的概念 java的io是实现输入和输出的基础,...

  • Java_IO流及IO流在网络编程中的应用

    IO流 (抽象基类)字节流字符流输入流InputStreamReader输出流OutputStreamWriter...

网友评论

      本文标题:io——流类

      本文链接:https://www.haomeiwen.com/subject/jjbnwxtx.html