21xrx.com
2025-03-23 15:46:32 Sunday
文章检索 我的文章 写文章
Java中流的种类及使用方法详解
2023-06-16 08:56:44 深夜i     --     --
Java流 字节流 字符流 输入流 输出流 文件操作

在Java中,流(Stream)是指在执行输入输出操作时,以流的形式传输数据的一种机制。流的基本流程包括输入、输出和数据处理,它广泛应用在各种类型的文件操作和数据传输中。Java中继承了C和C++的文件I/O流操作,在此基础上进行了扩展和修改,具有更加丰富、强大的功能。

Java中流的种类非常多,按照数据的类型和流的流向分为字节流和字符流、输入流和输出流,再细分有FileInputStream、FileOutputStream、ByteArrayInputStream、ByteArrayOutputStream、BufferedInputStream、BufferedOutputStream、DataInputStream、DataOutputStream、ObjectInputStream、ObjectOutputStream、PrintStream、FileReader、FileWriter、BufferedReader、BufferedWriter等等。根据具体使用情况和数据类型选择相应的流进行操作,可以实现诸如文件读取、写入、网络通信等功能。

下面是一个示例代码,演示了Java中如何使用字节流读取文件:

import java.io.*;
public class ReadFileByByteStream {
  public static void main(String[] args) {
    File file = new File("test.txt");
    FileInputStream fis = null;
    try {
      fis = new FileInputStream(file);
      int content = 0;
      while ((content = fis.read()) != -1) {
        System.out.print((char) content);
      }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      try {
        if (fis != null) {
          fis.close();
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
}

在该代码中,我们首先声明了一个File对象file,用于指定要读取的文件名。然后通过调用FileInputStream的构造函数创建了一个输入字节流fis。接下来,我们通过while循环来读取文件中的内容,每次读取时将输入流fis中的内容赋值给变量content,并将其强制转换为字符型后输出。最后,在try语句块中再嵌套一个try语句块来关闭输入流fis,并增加了异常处理机制以应对可能出现的异常情况。总体来说,这段代码比较简单易懂,对于初学者来说是值得一看的示例。

  
  

评论区