博学谷 > 资讯 > Java > Java入门基础学习之流概念

原创 Java入门基础学习之流概念

发布时间:2019-08-14 17:51:40 浏览 391 来源:博学谷资讯 作者:照照

    今天我们来梳理一下Java入门基础知识——流。本文将从流的定义、分类、标准的输入/输出流以及I/O流按类型分类四部分来介绍,让大家全面系统的了解流概念。感兴趣的同学就赶紧看下去吧!

     

    Java流

     

    一、Java流定义。

     

    Java中的流是一个很抽象的概念,当程序需要读取一个文件时,就会开启一个通向数据源(被读取的文件)的流。流是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。

     

    二、Java中流的分类

     

    1、字节流(Byte Stream)

     

    InputStream(抽象类)与OutputStream(抽象类)所有字节流的顶级父类,这类流以字节(Byte)为基本处理单位

     

    2、字符流(Character Stream)

     

    Reader(抽象类)与Writer(抽象类)所有字符流的顶级父类,这类流以16位的Unicode表示的字符基本单位。

     

    三、标准的输入/输出流

     

    1、标准的输出流 system.out

     

    向标准输出设备输出数据,其数据类型为PrintStream

     

    常用方法:void print(参数) 和 void println(参数)

     

    system.out通过调用println方法输出参数并换行,调用print方法输出不换行

     

    2、标准的输入流system.in

     

    向标准的输入设备输入数据(一般为键盘),其数据类型为InputStream

     

    常用方法:int read() 返回ASCII码,返回值为-1则没有读取任何字节,读取工作结束

     

    int read(byte b[]) :读入多个字节到缓冲区b中,返回值是读入的字节数

     

    package cn.itcase.stream;

     

    import java.io.IOException;

     

    public class Demo {

     

    //从键盘输入 输入什么 打印什么

     

    public static void main(String[] args) {

     

    int b;

     

    try {

     

    System.out.println("please Input");

     

    while((b=System.in.read()) !=-1){

     

    System.out.println((char)b);

     

    }

     

    } catch (IOException e) {

     

    System.out.println(e.toString());

     

    }

     

    }

     

    }

     

    3、标准错误流

     

    System.err 标准错误流,其数据类型为PrintStream。

     

    四、I/O流按类型分类

     

    1、Memory

     

    从/向内存数组读写数据:CharArrayReader,CharArrayWriter,ByteArrayInputStream,ByteArrayOutputStream

     

    从/向内存字符串读写数据:StringReader,StringWriter,StringBufferInputStream,StringBufferOutStream

     

    2、Pipe管道

     

    实现管道的输入和输出(进程间通信):PipedReader,PipeWriter,PipedInputStream,PipedOutputStream

     

    3、File文件流

     

    对文件进行读写操作:FileReader,FileWriter,FileInputStream,FileOutputStream

     

    4、ObjectSerialization

     

    对象输入,输出:ObjectInputStream,ObjectOutputStream

     

    5、DataConversion数据流

     

    按基本数据类型读,写(处理的数据是Java的基本数据类型):DataInputStream,DateOutputStream

     

    6、Printing

     

    包含方便的打印方法:PrintWriter,PrintStream

     

    7、Buffering 缓冲区

     

    在读入,写出时 对数据进行缓存,以减少I/O的次数:BufferedReader,BufferedWriter,BufferedIputStream,BuffereOutputStream

     

    8、Filtering 滤流

     

    在数据进行读写时进行过滤:FilterReader,FilterWriter,FilerInputStream,FilterOutputStream

     

    9、Concatenation

     

    合并输入并把多个输入流连成一个输入流:SequenceInputStream

     

    10、Conunting

     

    在读入数据时对行记数:LineNumberReader,LineNumberInputStream

     

    11、Peeking Ahead

     

    通过通过缓存机制进行预读:PushBackReader,PushBackInputStream

     

    12、Converting between Bytes and Characters

     

    按照一定的编码/解码标准将字节流转换为字符流,或反向转换(Stream到Reader,Writer的转换类):InputStreamReader,OutputStreamWriter

     

    以上就是关于Java入门基础流概念的学习内容,大家都弄清楚了吗?

上一篇:Java 12 / JDK 12 正式发布有哪些新特性 下一篇:转行Java开发程序员零基础入门学什么

相关推荐 更多

最新文章

扫描二维码,回复"Java"获取180G资料包