java

关于io处理

重新学习java,已经丢下好几年,做文件服务器重新收拾下,发现出来的东西有种默契感,估计这就是程序员干了好几年后的好处。

io 记得以前要看很久,却老是不记得,现在一下就明白了

reader,writer 是处理字符的

inputstream,outputstream 是处理字节流的,

对应会扩展出很多针对不同情况使用的类,像bytearrayinputstream 是放在内存缓冲区的,那速度应该最快,但是大小肯定有限制

stringbufferstring 是处理string对象的,那做字符串操作时,可以使用

file,pipe,sequence

filterinputstream 比较好玩,可以作为装饰器的基类(decorate),装饰器,顾名思义,可以修饰inputstream,那么在给特定input 增加功能的时候就可以使用这个特殊的基类了。

PushbackInputStream 这个主要用途是编译器开发,让我觉得神奇,从来不会考虑java 开发编译器。。。。

reader系列则有对应的处理类,只是处理的对象变成字符罢了,就是带上了编码类型。

但是貌似不是所有reader 都有字符集的设置参数,bufferreader就没有,但是inputstreamreader 有的,所有如果和默认字符集不同时,需要结合inputstreamreader 进行设置~

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

而这样的写法可以提高效率,不懂~~~~~

posted @ 2012-11-21 11:49  monkey craps  Views(202)  Comments(0)    收藏  举报