2012-01-10 9 views
2

ファイルに何も含まれていないかどうかを確認しようとしています。私たちは、私はプロパティを使用して/書き込みファイルを読み込むことができます見ることができるようにファイルの内容が空であるかどうかを確認するには?

class LastUsed 
    { 
     private static string dir = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Folder\"; 
     private static string file = dir + @"\Settings.txt"; 
     private string text; 

     public void CheckFileStatus() 
     { 
      if (!Directory.Exists(dir)) 
      { 
       DirectoryInfo directory = Directory.CreateDirectory(dir); 
      } 
      if (!File.Exists(file)) 
      { 
       using (FileStream fileStream = File.Create(file)) 
       { 
       } 
      } 
     } 

     private void SetFileText(string writeText) 
     { 
      using (StreamWriter streamWriter = new StreamWriter(file)) 
      { 
       streamWriter.Write(writeText); 
      } 
     } 

     private string GetFileText() 
     { 
      string readText; 

      using (StreamReader streamReader = File.OpenText(file)) 
      { 
       readText = streamReader.ReadLine(); 
      } 

      return readText; 
     } 

     public string Text 
     { 
      set 
      { 
       text = value; 
       SetFileText(text); 
      } 
      get 
      { 
       return GetFileText(); 
      } 
     } 

これは、私は、ファイルへの書き込み/作成/チェックているものです。だからnull値のTextプロパティをチェックしようとしましたが、うまくいかないようです。

私はこれをどのようにしたらよいでしょうか?

+3

を探したいファイルのパスでいいですか?ロケット科学ではありません。 –

+0

@ M.Babcock、私はこれについて本当に考えていません。しかし、それは素晴らしい解決策のように思えます。 – HelpNeeder

+1

将来的にあなたの問題を解決する方法を考えて、他の人にあなたのために解決してもらうようにしてください。あなたが実際にここでボランティアに頼る前にあなたの問題を解決しようとしたならば、実際にはうれしいでしょう。 –

答えて

9

ファイルのサイズがゼロバイトであるかどうかを確認してください:Get size of file on disk

+0

素敵でシンプルですね! +1! – HelpNeeder

+0

ファイルの内容の論理的なサイズが必要なので、リンクの答えは答えよりも重要です。 – amalgamate

+0

私の.logファイルは空であっても0より大きい長さを持っているので、毎回動作しません – Qerts

9

このコードは、ファイルが空であるかどうかをチェックについて(ファイルサイズが0を意味します)どのように

if (new FileInfo(fileName).Length ==0){ 
    // file is empty 
} else { 
    // there is something in it 
} 

filenameは、そのサイズ