Maison  >  Article  >  Java  >  Utilisez les classes BufferedReader et BufferedWriter pour obtenir une lecture et une écriture de fichiers Java efficaces

Utilisez les classes BufferedReader et BufferedWriter pour obtenir une lecture et une écriture de fichiers Java efficaces

PHPz
PHPzoriginal
2023-12-28 11:26:26518parcourir

Utilisez les classes BufferedReader et BufferedWriter pour obtenir une lecture et une écriture de fichiers Java efficaces

Utilisez les classes BufferedReader et BufferedWriter pour une lecture et une écriture efficaces de fichiers Java

Java fournit de nombreuses classes pour la lecture et l'écriture de fichiers, parmi lesquelles BufferedReader et BufferedWriter sont deux des classes les plus couramment utilisées. L'utilisation de ces deux classes peut améliorer l'efficacité de la lecture et de l'écriture des fichiers.

La classe BufferedReader hérite de la classe Reader et fournit un flux d'entrée de caractères avec un tampon. Elle peut lire plusieurs caractères à la fois, réduisant le nombre d'accès au flux d'entrée sous-jacent et améliorant l'efficacité de la lecture.

La classe BufferedWriter hérite de la classe Writer et fournit un flux de sortie de caractères avec un tampon. Plusieurs caractères peuvent être écrits en même temps, ce qui réduit le nombre d'accès au flux de sortie sous-jacent et améliore l'efficacité d'écriture.

Ce qui suit est un exemple spécifique d'utilisation de BufferedReader et BufferedWriter pour lire et écrire des fichiers :

import java.io.*;

public class FileReadWriteExample {

    public static void main(String[] args) {
        
        // 源文件路径
        String sourceFile = "source.txt";
        // 目标文件路径
        String targetFile = "target.txt";
        
        try (
            // 创建BufferedReader对象
            BufferedReader reader = new BufferedReader(new FileReader(sourceFile));
            // 创建BufferedWriter对象
            BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile));
        ) {
            // 读取源文件的一行数据
            String line;
            while ((line = reader.readLine()) != null) {
                // 将读取到的数据写入目标文件
                writer.write(line);
                // 写入换行符
                writer.newLine();
            }
            
            System.out.println("文件读写完成。");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Dans le code ci-dessus, le chemin du fichier source et le chemin du fichier cible sont d'abord définis. Ensuite, les objets BufferedReader et BufferedWriter sont créés dans l'instruction try-with-resources et les objets de flux de lecture et d'écriture de fichier correspondants sont transmis. Dans la boucle, utilisez la méthode readLine() pour lire les données du fichier source ligne par ligne, utilisez la méthode write() pour écrire les données dans le fichier cible, puis utilisez la méthode newLine() pour écrire des caractères de nouvelle ligne. Enfin, les objets BufferedReader et BufferedWriter sont fermés dans le bloc final. Si une exception se produit lors de la lecture ou de l'écriture du fichier, le bloc catch capturera et imprimera les informations sur l'exception.

En utilisant les classes BufferedReader et BufferedWriter, l'efficacité de la lecture et de l'écriture des fichiers peut être efficacement améliorée. Étant donné que ces deux classes utilisent des tampons, elles peuvent lire et écrire plus de données à la fois, réduisant ainsi le nombre d'accès aux flux d'entrée et de sortie sous-jacents, augmentant ainsi la vitesse de lecture et d'écriture. Lors du traitement de fichiers volumineux, l'utilisation de BufferedReader et BufferedWriter peut réduire considérablement le nombre d'opérations d'E/S et améliorer les performances du programme.

Résumé :
L'utilisation des classes BufferedReader et BufferedWriter peut améliorer l'efficacité de la lecture et de l'écriture des fichiers Java. Grâce à l'utilisation de tampons, plusieurs caractères peuvent être lus et écrits en même temps, ce qui réduit le nombre d'accès aux flux d'entrée et de sortie sous-jacents et améliore l'efficacité des opérations d'E/S. Dans le développement réel, notamment lors du traitement de fichiers volumineux, l'utilisation de ces deux classes peut améliorer considérablement les performances du programme.

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