2017-01-03 31 views
-2

我有一個file.log不斷寫入,我用一些腳本將該文件複製到我的桌面,並且我測試a關鍵字是否位於最後一個通道上登錄,如果是我顯示綠色的畫面如果不是我顯示一個紅色畫面probleme,當我開始我的計劃,我得到這個錯誤她是代碼該進程無法訪問該文件,因爲該文件被另一個使用

{ 

     // File.ReadAllLines(@"C:\\Users\\Reta\\Desktop\\TEST\\TEST\\fichiers\\k20\\winvsrTEST.log").Last(); 
     // System.IO.StreamReader file = new System.IO.StreamReader(@"C:\\Users\\Reta\\Desktop\\TEST\\TEST\\fichiers\\k20\\winvsrTEST.log"); 
     string motcle1 = "oee code"; 
     //string line = File.ReadLine().Last().ToString(); 
     var lines = File.ReadAllLines(@"C:\Users\Reta\Desktop\TEST\TEST\fichiers\k20\winvsrTEST.log"); 
     string line = lines.Last(); 


     //line = File.ReadAllLine(); 
     //do 
     { 
      if (line.Contains(motcle1)) 
      { 

       pictureBox2.Show(); 
       pictureBox1.Hide(); 


      } 
      else 
      { 
       pictureBox2.Hide(); 
       pictureBox1.Show(); 
      } 


     } 
     //while ((line = File.ReadLine()) != null); 
     label1.Text = "Hi"; 

    } 
} 

}`

+0

試試'Usi NG()'。它看起來像你的過程沒有處置,所以它仍然阻止你的文件。 – Cataklysim

+0

這也取決於日誌文件是專門打開還是允許其他人從中讀取。 – BugFinder

+0

它允許其他人從中讀取 –

回答

-1

嘗試以下...

FileStream s2 = new FileStream("FileName", FileMode.Open, FileAccess.Read, FileShare.Read); 
     StreamReader sr = new StreamReader(s2); 

     while (!sr.EndOfStream) 
     { 
      string line; 
      if ((line = sr.ReadLine()) != null) 
      { 
       //do your work here 
      } 
     } 
+0

嘗試解釋原因。 – CodeCaster

+0

@Rudra,在回答關於Stack Overflow的問題時,最好提供一個描述你的代碼的確切內容的快速描述,或者你爲什麼這麼做,以便讓其他人更容易閱讀和理解_why_你的代碼有效。 將鏈接發佈到方法的簽名定義通常也很有用,例如https://msdn.microsoft.com/en-us/library/5h0z48dh(v=vs.110).aspx – XtraSimplicity

+0

hmm ...因爲您正試圖以讀/寫模式打開文件。您需要以讀取模式打開文件。 – Rudra

相關問題