今天准备学习学习java的网络部分

上来就遇见了一个问题,流对象。

特此记录。

Java根据数据流向的不同分为输入流和输出流;

Java根据处理数据类型的不同分为字符流和字节流,

所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类 ,

而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类;

 

      InputStream(字节输入流)和Reader(字符输入流)通俗的理解都是读(read);

      OutputStream(字节输出流)和Writer(字符输出流)通俗的理解都是写(writer);

 

     读入或者写出都是针对程序来说的,比如说

读,就是程序读取外界数据,可以从控制台,从文件......,

写,就是程序向外写,也就是向控制台输出或者写入到文件中。

 

下面是InputStream的示意图

 

java输出对象的值是什么 java输出对象类型_输入流

InputStream是输入字节数据用的类,InputStream类提供了3种重载的read方法.:

  (1) public abstract int read( ):读取一个byte的数据,返回值是高位补0的int类型值。

  (2) public int read(byte b[ ]):读取b.length个字节的数据放到b数组中。返回值是读取的字节数。该方法实际上是为调用下一个方法实现的。

  (3) public int read(byte b[ ], int off, int len):从输入流中最多读取len个字节的数据,存放到偏移量为off的b数组中。

         

  提到FileInputStream  它是IO包中唯一代表磁盘文件本身的对象。通过File来创建,删除,重命名文件。File类对象的主要作用就是用来获取文本本身的一些信息。如文本的所在的目录,文件的长度,读写权限等等。

  关于File类的更多内容见 Java中File类。

 

 下面是 Reader的示意图

       java中的字符是Unicode编码的,是双字节的。InputStream是用来处理字节的,在处理字符文本时很不方便。Java为字符文本的输入提供了专门的一套类Reader。Reader类是字符输入流的抽象类,所有字符   输入流的实现都是它的子类。

 

java输出对象的值是什么 java输出对象类型_java输出对象的值是什么_02