-1

重複の可能性:
テキストファイルから行を削除する効率的な方法

マルチスレッドアプリと、プロキシサーバーのリストを含むテキストファイルがあります。プロキシが有効でない場合は、テキストファイルから削除する必要があります。

アプリの速度を落としたくない場合はどうすればよいですか?

たとえば、から削除する必要があり62.109.29.58:8085 ます

62.109.7.22:8085
62.109.0.35:8085
92.63.106.111:8085
78.24.216.163:8085
92.63.97.156:8085
82.146.56.156:8085
62.109.29.58:8085
78.24.220.173:8085
78.24.220.111:8085
92.63.106.124:8085
4

2 に答える 2

4

ファイルが小さいように見えるので、ファイル全体を読み取り、削除する必要がある行を削除してから、ファイルを書き戻すことができます。

File.WriteAllLines("myfile.txt"
,   File.ReadLines("myfile.txt").Where(s => s != "62.109.29.58:8085").ToList()
);
于 2012-12-13T19:44:24.063 に答える
0
string[] lines = System.IO.File.ReadAllLines("filename.txt");
for (int i = 0; i < lines.Length; i++)
{
    string line = lines[i];
    if (line == "what you are looking for")
       lines[i] = "";
}

string[] newLines = lines.Where(str => !string.IsNullOrEmpty(str)).ToArray();
using (Stream stream = File.OpenWrite("filename.txt"))
{
    using (StreamWriter sw = new StreamWriter(stream))
    {
        foreach (string line in newLines)
        {
            sw.WriteLine(line);  
        }
    }
}
于 2012-12-13T19:47:08.853 に答える