Netty 学习之 IO 流 (一)

in 学习 with 0 comment

IO

IO就是是 input 和 output 了,Java中的IO主要有两个类型,字节流和字符流。

InputStream / OutputStream / Reader / Writer

这4个类就是java中所有IO流类的基类了, InputStream 和 Reader 负责从内存(eg: 硬盘)中读取数据, OutputStream 和 Writer 负责把数据输出到内存(eg: 硬盘,网络)。 此处主要注意,所有的操作主体是以**计算机的物理内存为第一视觉(JVM)**的。

常用的

InputStreamOutputStreamReaderWriter
InputStreamReaderOutputStreamWriter
FileInputStreamFileOutputStreamFileReaderFileWriter
PipedInputStreamPipedOutputStreamPipedReaderPipedWriter
BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter
ObjectInputStreamObjectOutputStream
StringReaderStringReader

File***

主要用来对文件进行操作,通常如果文件是个文本文件,那么就由FileReader / FileWriter 来进行读写。 如果是非文本文件,比如图片/程序等,由 FileInputStream / FileOutputStream 来进行读写。

Buffered***

这几个类可以一次对流经行部分读写,而不是一个字节/字符的读写,从来减少读写次数,加快读写速度。

Piped***

java中的管道流,可以对同一个进程的一段数据同时进行读写。