Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java 几种输入输出流


在 Java 中,有多种输入输出流用于处理文件、网络和其他数据源的读写操作。以下是几种常见的输入输出流,以及它们的详细介绍和示例代码。

FileInputStream 和 FileOutputStream

这些流用于读取和写入文件中的字节数据。FileInputStream 用于读取文件内容,FileOutputStream 用于写入文件内容。

步骤流程:

  1. 创建一个 FileInputStreamFileOutputStream 对象,传递文件路径作为参数。
  2. 使用 read() 方法(对于输入流)或 write() 方法(对于输出流)来读取或写入数据。
  3. 关闭流以释放资源,使用 close() 方法。

示例代码:

import java.io.*;

public class FileIOExample {
    public static void main(String[] args) {
        try {
            // Writing to a file using FileOutputStream
            FileOutputStream outputStream = new FileOutputStream("output.txt");
            String data = "Hello, FileOutputStream!";
            outputStream.write(data.getBytes());
            outputStream.close();

            // Reading from a file using FileInputStream
            FileInputStream inputStream = new FileInputStream("output.txt");
            byte[] buffer = new byte[1024];
            int bytesRead = inputStream.read(buffer);
            String readData = new String(buffer, 0, bytesRead);
            System.out.println(readData);
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

BufferedReader 和 BufferedWriter

BufferedReaderBufferedWriter 提供了带有缓冲区的字符流,用于更高效的文本文件读写操作。

步骤流程:

  1. 创建一个 FileReaderFileWriter 对象,传递文件路径作为参数。
  2. 将其传递给 BufferedReaderBufferedWriter 的构造函数。
  3. 使用 readLine() 方法(对于输入流)或 write() 方法(对于输出流)来读取或写入数据。
  4. 关闭流以释放资源,使用 close() 方法。

示例代码:

import java.io.*;

public class BufferedIOExample {
    public static void main(String[] args) {
        try {
            // Writing to a file using BufferedWriter
            FileWriter fileWriter = new FileWriter("buffered_output.txt");
            BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
            bufferedWriter.write("Hello, BufferedWriter!");
            bufferedWriter.newLine(); // Write a new line
            bufferedWriter.close();

            // Reading from a file using BufferedReader
            FileReader fileReader = new FileReader("buffered_output.txt");
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

依赖坐标

这些流属于 Java 标准库,无需额外依赖。

注意事项

  • 在处理输入输出流时,务必适当处理异常并确保正确关闭流,以防资源泄漏。
  • 示例中的文件路径是相对路径,实际应用中应使用绝对路径或根据需要进行路径处理。

以上是 Java 中几种常见的输入输出流的介绍和示例代码。如果你有特定的第三方库需要使用,请提供库的名称,我可以帮助你找到相应的依赖坐标。

在Java中,将字节流转换为字符流通常涉及到字符编码的处理,因为字节流和字符流之间需要进行字符编码的转换。###使用InputStreamR ...
Java提供了多种不同类型的List实现,其中一些常见的包括:###ArrayList*步骤流程:1.创建一个`ArrayList`对象,通 ...
在Java中,有多种实现了Map接口的数据结构,每种数据结构都有其特定的用途和性能特点。示例代码:Maven依赖坐标:Gradle依赖坐标: ...
在Java中,有多种锁的实现方式来实现并发控制,这些锁提供了不同的特性和适用场景。###synchronized关键字`synchroniz ...
Redis 5.0 增加了很多新的特色功能,其最大的新特性就是多出了一个数据结构 Stream,它是一个新的强大的支持多播的可持久化消息队列 ...