Maison > Java > javaDidacticiel > Comment puis-je lire efficacement une ligne spécifique à partir d'un fichier en Java ?

Comment puis-je lire efficacement une ligne spécifique à partir d'un fichier en Java ?

DDD
Libérer: 2024-12-16 14:31:12
original
811 Les gens l'ont consulté

How Can I Efficiently Read a Specific Line from a File in Java?

Lecture de lignes spécifiques à partir d'un fichier en Java

En Java, la lecture d'une ligne particulière à partir d'un fichier peut être réalisée en utilisant diverses méthodes. Cet article explore deux approches pour accéder à des lignes spécifiques en fonction de leurs numéros de ligne.

Petits fichiers

Pour les petits fichiers texte, une solution simple consiste à lire toutes les lignes dans une liste puis récupérer la ligne souhaitée à l'aide de son index. La méthode Files.readAllLines(Path) peut être utilisée pour lire toutes les lignes comme suit :

String line32 = Files.readAllLines(Paths.get("file.txt")).get(32);
Copier après la connexion

Cependant, cette approche n'est pas efficace pour les fichiers volumineux car elle charge l'intégralité du fichier en mémoire.

Fichiers volumineux

Pour les fichiers volumineux, une méthode alternative qui évite de charger le fichier complet consiste à utiliser skip() et Méthodes findFirst(). Ici, nous sautons les n-1 premières lignes, puis récupérons la nième ligne :

try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) {
    line32 = lines.skip(31).findFirst().get();
}
Copier après la connexion

Cette approche est plus efficace pour les fichiers volumineux car elle diffuse les lignes une par une, minimisant ainsi l'utilisation de la mémoire.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal