今天我们来梳理一下java入门的基础知识——流。本文将介绍从流的定义.分类.标准输入/输出流和I/O流按类型分类四个部分,让大家全面系统地了解流的概念。感兴趣的同学赶紧看看吧!
1.Java流定义。
Java中的流是一个非常抽象的概念。当程序需要读取文件时,它将打开通向数据源(读取文件)的流。流是输入输出设备的抽象。在Java程序中,数据的输入/输出操作以流的形式进行。设备可以是文件、网络、内存等。
2.Java中流的分类。
1.字节流(Bytestream)
Inputstream(抽象)和Outputstream(抽象)所有字节流的顶级父类,以字节(Byte)为基本处理单位。
2.字符流(characterstream)
Reader(抽象)和Writer(抽象)所有字符流的顶级父类,以16位Unicode表示的字符基本单位。
3.标准输入/输出流。
1.标准输出流system.out。
数据输出到标准输出设备,其数据类型为Printstream。
常用方法:voidprint(参数)和voidprintln(参数)
system.out通过调用println方法输出参数并换行,调用print方法输出不换行。
2.标准输入流system.in。
将数据输入到标准输入设备一般为键盘),其数据类型为InputStream。
常用方法:intread()返回ASCII码,返回值为-1,无读取字节,读取工作结束。
intread(byteb[]):将多个字节读入缓冲区b,返回值为读入字节数。
packagecn.itcase.stream;
importjava.io.IOException;
publiclassdemo
///从键盘输入输入打印什么。
publicsticvoidmain(string[]args){
intb;
try{
System.out.println(pleaseinput);
(b=System.in.read)!
System.out.println(char)b);
}
}catch(IOExceptione){}
System.out.println(e.tostring);
}
}
}
3.标准错误流。
System.err标准错流,其数据类型为Printstream。
四.I/O流按类型分类。
1.Memory。
从/向内存数组读写数据:Chararayreader,Chararaywriter,Bytearayinputstream,Bytearayoutstream。
从/向内存字符串读写数据:Stringreader,Stringwriter,Stringbuferinputstream,Stringbuferoutstream。
2.Pipe管道。
实现管道输入输出(进程间通信):Pipedreader、Pipewriter、Pipedinputstream、Pipedoutstream。
3.File文件流。
读写文件:Filereader,Filewriter,Fileinputstream,Fileoutputstream。
4.ObjectSerialization。
对象输入,输出:Objectinputstream,Objectoutputstream。
5.DataConversion数据流。
根据基本数据类型,写(处理的数据是Java的基本数据类型):DataInputstream,Dateoutputstream。
6.Printing。
包括方便的打印方法:Printwriter,Printstream。
7.buffering缓冲区。
读写时缓存数据,以减少I/O的次数:bufferedreader,buferedwriter,bufferediputstream,bufferederediputstream。
8.Filtering滤流。
读写数据时过滤:Filterrreader,FilterWriter,Filterinputstream,Filteroutputstream。
9.concatenation。
合并输入,将多个输入流连成一个输入流:SequenceinputStream。
10.Conunting。
读入数据时对行记数:LinEnumberrreader,Linenumberinputstream。
11.Peekingahead。
通过缓存机制进行预读:PushBackreader,PushBackinputstream。
12.ConvertingbetwenbytesandCharacters。
字节流按照一定的编码/解码标准转换为字符流或反向转换(Stream到Reader,Writer的转换类):Inputstreamreader,Outputstreamwriter。
以上是关于Java入门基本流概念的学习内容。你明白了吗?