在这种情况下如何跟踪文件? C#

时间:2012-06-22 12:11:08

标签: c# .net

我想做一个软件,但我真的不知道如何跟踪这些事情。

这个想法是这样的:

  1. 我选择了一个文件夹
  2. 最多提供一行(例如300000)
  3. 提供一个行/包(例如8000)
  4. 软件必须这样做。转到文件夹中的每个文件(我设法完成它,直到这里,哈哈)打开每个文件并保存他的行。如果file1.txt有例如3000行,则将它们保存到文件中,转到下一个文件,如果第二个文件有2000行,也保存它,直到我有8000行进入包。找到8000行后,将文件保存为“packet1.txt”,转到下一个文件,依此类推......在这种情况下,所有行都达到了最大行数(300 000)。

    这是代码:

    if (!path(folderBrowserDialog1.SelectedPath))
        MessageBox.Show("Please select a folder!");
    else if ((textBox1.Text != "") && (textBox2.Text != "") && (textBox4.Text!=""))
    {
        folder = folderBrowserDialog1.SelectedPath;
        maxlinks = int.Parse(textBox1.Text);
        packetlink = int.Parse(textBox2.Text);
        //  apikey = textBox4.Text;
        foreach (string file in Directory.GetFiles(folder))
        {
    
        }
    }
    else
        MessageBox.Show("Please check your input!");
    

    PS:路径功能仅检查目录是否被选中。

    有人能提出一些想法吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

http://msdn.microsoft.com/en-us/library/aa287535(v=vs.71).aspx

所以

if (!path(folderBrowserDialog1.SelectedPath))
    MessageBox.Show("Please select a folder!");
else if ((textBox1.Text != "") && (textBox2.Text != "") && (textBox4.Text!=""))
{
    folder = folderBrowserDialog1.SelectedPath;
    maxlinks = int.Parse(textBox1.Text);
    packetlink = int.Parse(textBox2.Text);
    //  apikey = textBox4.Text;
    foreach (string file in Directory.GetFiles(folder))
    {
        int counter = 0;
        string line;

        // Read the file and display it line by line.
        System.IO.StreamReader file = 
           new System.IO.StreamReader(file);
        while((line = file.ReadLine()) != null && counter < 30000)
        {
            Console.WriteLine (line);
            counter++;
        }

        file.Close();
    }

}
else
{
    MessageBox.Show("Please check your input!");
}