Java流

   java流:

  - 流是指一连串流动的字符,是以先进先出方式发送信息的通道;

  -   一个流是一个输入设备或输出设备的抽象表示。可以输写数据到流中,也可从流中都数据;

-  流具有明确的方向性:
  输入流:只能从流中读取数据,而不能向流中写入数据;(将文件中的数据以流的方式读取到内存中)
  输出流:只能向流中写入数据,而不能从流中读取数据;(将内存中的数据以流的方式写入文件)
             原则上,这些数据可以是在任何串行的数据源;
 
  -   在java.io包中,封装了很多输入/输出流的API。在程序中,这些输入/输出流的类的对象称为流对象;
 
  -   流对象构造的时候往往会和数据源(如文件)联系起来。数据源分为源数据源和目标数据源;
  输入流联系的是源数据源;
  输出流联系的是目标数据源;
 
  -   java的输出流主要由 OutputStream 和 Writer 作为基类,而输入流则主要由 InputStream 和 Reader 做为基类;
 
  -   根据操作数据的单元的不同,流又可划分为字节流和字符流;
     字节流操作的最小数据单元为8位的字节,字符流操作的最小单元为16位的字符。字节流建议用于二进制数据,而字符流用于文本(中文)。 它们用法是完全一样的;

--------------------------------------------------------------------

  v 字节流
   输入流:
  InputStream if = new FileInputStream();

   输出流:
  OutputStream fo = new FileOutputStream();

v 字符流
   输入流:
   Reader fr = new FileReader();

   输出流:
   Writer fw = new FileWriter();

v 字符缓冲流
   输入流:
  BufferedReader br = new BufferedReader();

   输出流:
  BufferedWriter bw = new BufferedWriter();

  v 二进制
   输入流:
   DataInputStream di = new DataInputStream();

  输出流:
   DataOutputStream do = new DataOutputStream();

v 系列化:
   输入对象:
  ObjectInputStream oi = new ObjectInput(new FileInputStream("E:/me.txt"));

   输出对象:
   ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("E:/me.txt"));

猜你喜欢

转载自1727204629.iteye.com/blog/2405950