2014-04-17 3 views
-1

Je veux supprimer la ligne vide du fichier hôte spécifiquement. Supposons que le fichier hôte comporte 25 lignes où 4 lignes sont totalement vides et nous avons supposé que ces 4 lignes vides sont les 4 dernières lignes. Donc, je veux après 21 lignes, toutes les lignes vides seront supprimés et le fichier hôte sera enregistré.Comment supprimer/effacer/supprimer une ligne vide du fichier hôte?

Je n'ai aucune idée & pas de code pour le faire .. S'il vous plaît aidez-moi à ce sujet Si vous le pouvez.

+3

Briser le problème en petits morceaux: 1. Lire le fichier, 2. supprimer les lignes vides , 3. écrivez le fichier. Recherchez chacune de ces pièces individuellement. – Heinzi

+0

Pouvez-vous me donner le code .. – abcincsharp

Répondre

0

Vous pouvez mettre en œuvre quelque chose comme ceci:

string tempFile = Path.GetTempFileName(); 

using(var sr = new StreamReader("file.txt")) 
using(var sw = new StreamWriter(tempFile)) 
{ 
    string line; 

    while((line = sr.ReadLine()) != null) 
    { 
     if(line != "removeme") 
      sw.WriteLine(line); 
    } 
} 

File.Delete("file.txt"); 
File.Move(tempFile, "file.txt"); 
2
string path = @"C:\Windows\System32\drivers\etc\hosts"; 
File.WriteAllLines(path, File.ReadAllLines(path).Where(l => !string.IsNullOrWhiteSpace(l))); 

Old .Net Version:

string path = @"C:\Windows\System32\drivers\etc\hosts"; 
File.WriteAllLines(path, File.ReadAllLines(path).Where(l => l.Trim().Length > 0)); 
+0

Méthode IsNullOrWiteSpace n'a pas fonctionné .. – abcincsharp

+0

Qu'est-ce que "ne fonctionne pas" signifie exactement? – Scordo

Questions connexes