以前老分不清java中的两个类,InputStream 和OutputStream。InputStream根据名字就知道它是输入类,OutputStream是输出类。而令我头疼的是,既然 InputStream是输入类,按理说应该有个写入的方法吧,因为是“输入”吗!可它偏偏出来个read()方法。OutputStream也一样,既然是输出类,就应该有一个读的方法吧,因为“输出”吗!可它偏偏出来个write()方法。两个类与我理解的正好相反,真是郁闷。就这样这个问题一直困扰了我好长时间,以至于用到输入输出时总得费一番周折。现在通过看Think In Java,好像一下子开窍了。
原来InputStream之所以叫输入类,是因为它要把要需要读取的内容转化成输入流,再从它那里进行读取,而OutputStream之所以叫输出类,是因为它首先需要与写入的目的地相关联,然后通过它进行写入。输入是:把要读取的内容输入到输入流,在从输入流进行读取,所以是 read()。输出是:把要输出的东西通过输出流输出到目的地,所以是write()。