Maison  >  Article  >  Java  >  Comment les flux d’E/S Java gèrent-ils les opérations du système de fichiers ?

Comment les flux d’E/S Java gèrent-ils les opérations du système de fichiers ?

PHPz
PHPzoriginal
2024-04-13 13:12:02452parcourir

Les flux d'E/S Java fournissent des classes et des interfaces pour gérer les opérations du système de fichiers. Parmi eux, le flux de fichiers est divisé en flux d'entrée et flux de sortie, qui sont utilisés respectivement pour lire et écrire le contenu du fichier. De plus, Java I/O fournit également des classes pour les opérations sur les répertoires, telles que File, FileFilter et FileNameFilter, qui peuvent obtenir des listes de fichiers, créer ou supprimer des répertoires, etc.

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

Flux d'E/S Java : explication détaillée des opérations du système de fichiers

Introduction

Les flux d'E/S Java fournissent un ensemble de classes et d'interfaces pour gérer les opérations du système de fichiers. En utilisant les flux d'E/S, vous pouvez lire, écrire et manipuler des fichiers dans le système de fichiers dans un programme Java.

Flux de fichiers

1. Flux d'entrée

  • FileInputStream : lit une séquence d'octets à partir d'un fichier. 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
  • FileReader : lit les séquences de caractères à partir de fichiers.

2. Flux de sortie

🎜🎜🎜FileOutputStream : Écrivez une séquence d'octets dans le fichier. 🎜🎜FileWriter : écrivez une séquence de caractères dans un fichier. 🎜🎜🎜🎜Exemple : Lecture du contenu d'un fichier🎜🎜
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);
    }
}
🎜🎜Opérations de répertoire🎜🎜🎜En plus des flux de fichiers, Java I/O fournit également des classes pour les opérations de répertoire : 🎜🎜🎜Fichier code> : représente un seul fichier ou répertoire. 🎜🎜<code>FileFilter : utilisé pour filtrer les fichiers. 🎜🎜FileNameFilter : Utilisé pour filtrer les noms de fichiers et de répertoires. 🎜🎜🎜🎜Exemple : Récupérer la liste des fichiers dans le répertoire🎜🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn