io框架

1. 关于流的概念

    想象一段水流,一定有一个起点,有一个终点,还有一条河来容纳它。磁盘或者内存中的文件数据就是水流,我们的程序就是河。流是基于unix中管道提出来的一个概念。在unix中,管道是一条不间断的字节流,用来实现同一设备上不同程序间的通信,或与其他设备进行交互。最常见的场景是文件的复制转移和服务器与硬件设备之间的通信。

2. 流的分类

   1> 根据流的方向,将流分为输入流和输出流;

   2> 根据流的操作类型,将流分为字节流和字符流。  

   所以,流有四种类型:字节输入流(InputStream)、字节输出流(OutputStream)、字符输入流(Reader)和字符输出流(Writer)。

3. 字节流

  1> FileInputStream 和 FileOutputStream:用于直接根据路径读写磁盘中的文件

FileInputStream in  = new FileInputStream("D:\test.txt");

FileOutputStream out = new FileOutputStream("D:\test.txt");

   2>  BufferedInputStream 和 BufferedOutputStream:用于提高输入/输出的效率

   3>  DataInputStream 和 DataOutputStream:常用于用于网络通信

4. 字符流

扫描二维码关注公众号,回复: 5824992 查看本文章

  1> InputStreamReader 和 OutputStreamWriter:用于处理字符

   2> BufferedReader 和 BufferedWriter:用来处理字节流来提高读取效率

BufferedReader reader = new Buffered(new InputStreamReader(new InputStream());

BufferedWriter writer = new Buffered(new OutputStreamWriter(new OutputStream());

   BufferedReader拥有直接读取一行数据的能力;BufferWriter不能直接写入一行数据,可以用PrintWriter来间接实现:

PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("D:\test.txt")));
writer.print("我是一行数据");
writer.close();

猜你喜欢

转载自blog.csdn.net/qq_28802119/article/details/87178192