Maison > Java > javaDidacticiel > Comment puis-je supprimer efficacement des lignes spécifiques d'un fichier texte à l'aide de la programmation ?

Comment puis-je supprimer efficacement des lignes spécifiques d'un fichier texte à l'aide de la programmation ?

Mary-Kate Olsen
Libérer: 2024-12-20 06:04:10
original
987 Les gens l'ont consulté

How Can I Efficiently Remove Specific Lines from a Text File Using Programming?

Suppression de lignes de fichiers texte

Lorsque vous travaillez avec des fichiers texte volumineux, il est souvent nécessaire de supprimer certaines lignes pour nettoyer les données ou organiser le dossier. Cela peut être fait efficacement à l'aide de techniques de programmation.

Recherche et élimination de lignes spécifiques

Supposons que vous ayez un fichier texte contenant le contenu suivant :

myFile.txt:
aaa
bbb
ccc
ddd
Copier après la connexion

Votre objectif est de créer une fonction appelée removeLine(String lineContent) qui prend une ligne en entrée et supprime cette ligne du fichier. Passer RemoveLine("bbb") devrait entraîner le fichier mis à jour suivant :

myFile.txt
aaa
ccc
ddd
Copier après la connexion

Solution utilisant les E/S de fichier

Une approche pour supprimer des lignes d'un fichier consiste à le lire ligne par ligne et à écrire les lignes qui ne correspondent pas au contenu de la ligne spécifié dans un fichier temporaire. Une fois toutes les lignes traitées, renommez le fichier temporaire pour remplacer l'original.

File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

String lineToRemove = "bbb";
String currentLine;

while((currentLine = reader.readLine()) != null) {
    String trimmedLine = currentLine.trim();
    if(trimmedLine.equals(lineToRemove)) continue;
    writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close(); 
reader.close(); 
boolean successful = tempFile.renameTo(inputFile);
Copier après la connexion

Cette solution garantit que le fichier d'origine n'est pas modifié tant que les modifications ne sont pas terminées, évitant ainsi toute perte potentielle de données.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal