2012-06-22 51 views
-1

我想做一個軟件,但我真的不知道如何跟蹤這些事情。如何在這種情況下跟蹤文件? C#

的想法是這樣的:

  1. 我選擇一個文件夾
  2. 給出一個最大行(例如,300000)
  3. 給一個行/分組(例如8000)

的軟件必須這樣做。去文件夾中的每個文件(我設法完成,直到這裏,哈哈)打開每個文件並保存他的線。如果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:如果僅檢查該目錄被選擇的路徑的功能。

有人可以提出一些想法嗎?

+2

你知道如何從一個文件中讀取行,以及如何編寫行到一個新文件?如果是這樣,它只是將這個動作循環到你找到的每一個文件上(你說你可以找到文件很好)並跟蹤你寫到當前包的行數,以便知道什麼時候切換。 –

+0

如果您可以發佈您已經編寫的代碼,也許我們可以幫助指導您。 – CodeMonkey1313

+0

謝謝:)剛剛添加了代碼 – user1461166

回答

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!"); 
} 
+0

謝謝,但這是從文件中讀取的,我已經知道了。我在這裏發佈這個,因爲我認爲有人可以對我需要的僞代碼或類似的東西:) – user1461166

+0

解釋好一點 – Liam

+0

謝謝哥們:) – user1461166