Bonjour,
Je dois chercher et supprimer un grand nombre de lignes dans un fichier texte. Le problème, c'est que j'ai le code mais il est extrêmement long car le fichier contient plus de 800 000 lignes.
Pour vous mettre dans le contexte, mon programme bloque plus de 800 000 sites dangereux en les ajoutant au fichier hosts. Les ajouter est très facile mais les retirer est plus difficile car il faut chercher dans le fichier hosts tout le contenu qui se trouve dans le fichier de site dangereux puis le supprimer.
C'est cette opération qui prend du temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub DebloquerSitesDangereux() Dim FichierSiteDangereux As String = ("C:\Users\" & System.Environment.UserName & "\Documents\ListeDeSiteContenusDangereux.txt") 'Emplacement du fichier qui contient les sites dangereux Dim lines As List(Of String) = System.IO.File.ReadAllLines("C:\Windows\System32\Drivers\etc\hosts").ToList 'Lecture du fichier hosts qui contient déjà le contenu du fichier de sites dangereux For Each lineASupprimer As String In ListeDeSiteContenusDangereux 'ListeDeSiteContenusDangereux est un listof string chargée précédement qui contient le contenu du fichier de sites dangereux lines.Remove(lineASupprimer) Next System.IO.File.WriteAllLines("C:\Windows\System32\Drivers\etc\hosts", lines) 'On réecrit le hosts sans la liste de site dangereux c'est à dire la listof ListeDeSiteContenusDangereux End Sub
Merci de votre aide !
Partager