首页 > 文章列表 > Java I/O流如何处理文件系统操作?

Java I/O流如何处理文件系统操作?

java i/o流
267 2024-04-23

Java I/O流提供了处理文件系统操作的类和接口。其中,文件流分为输入流和输出流,分别用于读取和写入文件内容。此外,Java I/O还提供了用于目录操作的类,如File,FileFilter和FileNameFilter,可以获取文件列表、创建或删除目录等。

Java I/O流如何处理文件系统操作?

Java I/O流:文件系统操作详解

简介

Java I/O流提供了一组用于处理文件系统操作的类和接口。通过使用 I/O流,您可以在 Java 程序中读取、写入和操作文件系统中的文件。

文件流

1. 输入流

  • FileInputStream:从文件读取字节序列。
  • FileReader:从文件读取字符序列。

2. 输出流

  • FileOutputStream:向文件写入字节序列。
  • FileWriter:向文件写入字符序列。

示例:读取文件内容

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamExample {

    public static void main(String[] args) {
        try {
            // 创建文件输入流对象
            FileInputStream fis = new FileInputStream(new File("file.txt"));
            // 创建字节数组以存储文件内容
            byte[] data = new byte[fis.available()];
            // 读取文件内容并存储在字节数组中
            int bytesRead = fis.read(data);
            // 将字节数组转换为字符串并打印
            String fileContent = new String(data, 0, bytesRead);
            System.out.println(fileContent);
            // 关闭文件输入流
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

目录操作

除了文件流之外,Java I/O还提供了一些用于目录操作的类:

  • File:表示单个文件或目录。
  • FileFilter:用于过滤文件。
  • FileNameFilter:用于过滤文件和目录的名称。

示例:获取目录下的文件列表

import java.io.File;
import java.util.Arrays;

public class FileListExample {

    public static void main(String[] args) {
        // 创建 File 对象代表当前目录
        File dir = new File(".");
        // 获取当前目录下的文件列表
        File[] files = dir.listFiles();
        // 打印文件列表
        Arrays.stream(files).forEach(System.out::println);
    }
}