2017-01-03 3 views
-2

file.logは継続的に書き込みます。このファイルをいくつかのスクリプトでデスクトップにコピーし、キーワードが最後のレーン私は私のプログラムを起動したとき、私は、このエラーに彼女がコードこのファイルは別のファイルで使用されているため、このファイルは別のファイルで使用されているため、プロセスはファイルにアクセスできません

{ 

     // 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"; 

    } 
} 

}で取得することを赤い絵にproblemeを示さない場合ははい私は緑の画像を表示した場合、ログイン `

+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に関する質問に答えるときは、コードが正確に何をしているのか、なぜそのようにしたのかを説明し、他の人が読みやすく、理解しやすいようにするのが最善の方法ですコードが動作します。 メソッドのシグネチャ定義へのリンクを投稿すると便利です。つまり、https://msdn.microsoft.com/en-us/library/5h0z48dh(v=vs.110).aspx – XtraSimplicity

+0

hmm ...あなたが読み書きモードでファイルを開こうとしているからです。読み取りモードでファイルを開く必要があります。 – Rudra

関連する問題