流概念 ----Java基础篇

目录

一、Java流简述

二、Java中流的分类

2.1、字节流(Byte Stream)

2.2字符流(Character Stream)

三、标准的输入/输出流

3.1、标准的输出流 system.out

3.2、标准的输入流system.out

3.3、标准错误流

 

四、I/O流按类型分类

4.1、Memory

4.2、Pipe管道

4.3、File文件流

4.4、ObjectSerialization

4.5、DataConversion数据流

4.6、Printing

4.7、Buffering 缓冲区

4.8、Filtering  滤流

4.9、Concatenation

4.10、Conunting

4.11、Peeking Ahead

4.12、Converting between Bytes and Characters

 


 

一、Java流简述

Java中的是一个很抽象的概念,当程序需要读取一个文件时,就会开启一个通向数据源(被读取的文件)的流。

 

二、Java中流的分类

2.1、字节流(Byte Stream)

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

2.2字符流(Character Stream)

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

 

三、标准的输入/输出流

3.1、标准的输出流 system.out

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

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

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

3.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.3、标准错误流

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

 

 

四、I/O流按类型分类


4.1、Memory


从/向内存数组读写数据:CharArrayReader,CharArrayWriter,ByteArrayInputStream,ByteArrayOutputStream
从/向内存字符串读写数据:StringReader,StringWriter,StringBufferInputStream,StringBufferOutStream

4.2、Pipe管道


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

4.3、File文件流


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

4.4、ObjectSerialization


对象输入,输出:ObjectInputStream,ObjectOutputStream

4.5、DataConversion数据流


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

4.6、Printing


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

4.7、Buffering 缓冲区


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

4.8、Filtering  滤流


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

4.9、Concatenation


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

4.10、Conunting


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

4.11、Peeking Ahead


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

4.12、Converting between Bytes and Characters


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

 

你可能感兴趣的:(java进阶篇)