返回

深入浅出 IO 流学习笔记

后端

IO 流概述

IO 流是指用于读写数据的抽象概念。在 Java 中,IO 流是通过 java.io 软件包中的类实现的。IO 流分为输入流和输出流。

  • 输入流:从数据源读取数据的流,例如,从文件、网络等读取数据。
  • 输出流:将数据写入到数据目标的流,例如,写入到文件、网络等。

创建 IO 流对象

Java 中提供了多种 IO 类,我们可以使用这些类来创建 IO 流对象。

文件 IO 流对象

操作 类名 构造函数 参数
读文件 FileInputStream FileInputStream(String filename) 文件名
写文件 FileOutputStream FileOutputStream(String filename) 文件名
读写文件 RandomAccessFile RandomAccessFile(String filename, String mode) 文件名,模式

网络 IO 流对象

操作 类名 构造函数 参数
读网络数据 SocketInputStream SocketInputStream(Socket socket) 套接字对象
写网络数据 SocketOutputStream SocketOutputStream(Socket socket) 套接字对象

IO 流读写操作

读写操作是 IO 流的核心功能。Java IO 流提供了多种读写方法,我们可以使用这些方法来读写数据。

读数据

我们可以使用 read()read(byte[] b)readLine() 等方法来读数据。

  • read() 方法:读取单个字节。
  • read(byte[] b) 方法:读取多个字节。
  • readLine() 方法:读取一行数据。

写数据

我们可以使用 write()write(byte[] b)write(String str) 等方法来写数据。

  • write() 方法:写入单个字节。
  • write(byte[] b) 方法:写入多个字节。
  • write(String str) 方法:写入字符串。

流式处理

流式处理是指将数据源的元素顺序转换为目标数据类型的序列,或者将数据源的元素顺序应用某个操作形成新的数据序列。

Java 中,我们可以使用 BufferedReaderBufferedWriter 等类来实现流式处理。

  • BufferedReader 类:对文本文件进行逐行读取。
  • BufferedWriter 类:对文本文件进行逐行写入。

IO 流的应用场景

IO 流的应用场景非常广泛,包括:

  • 文件操作:读写文件。
  • 网络通信:发送和接收网络数据。
  • 数据库操作:读写数据库中的数据。
  • 序列化和反序列化:将对象转换为字节序列并存储在文件中,然后再从文件中读取字节序列并还原成对象。

总结

IO 流是 Java 中处理输入和输出的基本工具。掌握 IO 流的使用方法,可以帮助我们更轻松地处理数据。