java io规律总结-终于绕明白了

字节流
字符流的输入输出
输出流:outputStrem 向输出流输出。
输出函数:write 向输出流中写。
输出流:inputStrem 由输出流进入。
输出函数:read 由输入流中读入。

字符流输入输出流
这样是不是更容易理解一点。
我们把流当成一个容器。
假设我有一个新的容器。把这个容器的东西倒到流容器里,对于该容器来说,是出(out),对应流容器来说,是写(write)。
把容器的东西导入我这个新容器,对新容器来说,是入(int),对应流容器来说,是读,是流容器在做读的动作。
从动作的角度来讲,入是写,出是读。
太绕了,可下绕明白了。

字符流
那么关于支付流的输入和输出和这是相同的
字符输入输出流
把流的内容向读向内存,这是入。
把内存的内容向流写,这是出。
内存操作流
内存流的输入输出
内存流的关系视乎变成这样更合理,他俩可以互相给彼此当新瓶子。
管道流
管道流
管道流就是把两个流接上,一段写入,另一端就可以读出了

管道流
变成这样是不是更容易理解呢。
总结:out\in write\read
上面的各种流其实就是out和in用来区别数流向,向流的是out,有流出来的in。这里有点绕。
但这里的内外而言是相对于流对应的操作内存的。内存到流是出,流到内存是入。
还有两个概念读和写,进入流出是写,出流的是读,这里的读和写是相对于流而言的。

打印流
打印流
打印流等同于一个输出流,如果输出流后的容器还是输出流,这和管道流的接发有点不同,差别在于。
由打印流到输出流,打印的容器,相当于输出流的内存。
和管道流的原理不同,管道流好像是容器重合的感觉,写和读用的视乎是一块内存,但这里不同,打印流把属性写入打印容器,输出流在把打印流的内容输入到输出容器。
System类对io的支持
屏幕的输入输出流这里是输入和输出对应的容器都是屏幕。输入,把屏幕的内存写向屏幕,输出,把内存的内容写向屏幕。
总结2
第一次学的时候,被被out、in、read、write搞蒙了。
其实就意义的对应关系 out == read in==write。
但是这里明显是out和write搭配, in和read。有点不习惯。
但是有个规律是,write和 read真对的是流的空间的。而out和in是指向操作的内存空间的。
out.write 是读内存空间,写流空间。in.read 是读流空间,写内存空间。
out.write 数据由内存到流空间。in.read 是流空间到内存空间。

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/89402943