Maison >Java >javaDidacticiel >Comment puis-je supprimer efficacement des lignes spécifiques d'un fichier texte ?
Suppression de lignes d'un fichier : recherche et élimination de lignes précises
Dans le cadre de la manipulation de fichiers, il peut survenir des scénarios dans lesquels des lignes spécifiques doivent à supprimer d'un fichier texte donné. Pour répondre à ce besoin, notre objectif est de trouver un extrait de code qui localise et élimine des lignes entières d'un fichier.
Considérez un exemple de fichier nommé « myFile.txt » avec le contenu suivant :
aaa bbb ccc ddd
Notre solution souhaitée est une fonction qui nous permet de supprimer une ligne spécifiée. Par exemple, si nous appelons "removeLine("bbb")", le contenu de "myFile.txt" doit être mis à jour comme suit :
aaa ccc ddd
Solution de code proposée
Cette solution traque efficacement la ligne que vous souhaitez supprimer et réécrit le fichier, à l'exclusion de cette ligne spécifique, dans un fichier temporaire. Une fois l'opération de réécriture terminée, le fichier d'origine est remplacé par le fichier temporaire.
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) { // Removing leading and trailing whitespace to ensure accurate line matching String trimmedLine = currentLine.trim(); if(trimmedLine.equals(lineToRemove)) continue; writer.write(currentLine + System.getProperty("line.separator")); } writer.close(); reader.close(); // Renaming the temporary file to replace the original file boolean successful = tempFile.renameTo(inputFile);
Ce code accomplit la tâche en lisant le fichier d'origine ligne par ligne, en écrivant chaque ligne non correspondante dans le fichier temporaire. . Lorsqu'une ligne correspondante est rencontrée, elle est ignorée. Une fois toutes les lignes traitées, le fichier temporaire est renommé pour remplacer le fichier d'origine.
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!