2009-08-18 19 views
1
public void LoadRealmlist() 
{ 
    try 
    { 
     File.Delete(Properties.Settings.Default.WoWFolderLocation + 
      "Data/realmlist.wtf"); 

     StreamWriter TheWriter = 
      new StreamWriter(Properties.Settings.Default.WoWFolderLocation + 
      "Data/realmlist.wtf"); 

     TheWriter.WriteLine("this is my test string"); 
     TheWriter.Close(); 
    } 
    catch (Exception) 
    {  
    }    
} 

私のメソッドはファイルを適切に削除し、 "realmlist.wtf"を名前として作成し、それに行を書きますか?File.Deleteを使用してファイルを削除し、Streamwriterを使用して同じファイルを作成しますか?

実際にどこの行が表示されないので混乱しています。はファイルをもう一度作成します。または、StreamWriterを作成する行為によって自動的にファイルが作成されますか?

答えて

3

ストリームライターはファイルが存在しない場合は作成します。 StreamWriterがインスタンス化されるときにコンストラクタで作成されます。

+0

私のTry()文の2行目はファイルを作成しますか? –

+1

はい: "StreamWriter TheWriter =新しいStreamWriter(Properties.Settings.Default.WoWFolderLocation +" Data/realmlist.wtf "); " – Russell

+0

私は知っておく必要があった、ありがとう! –

1

StreamWriterコンストラクタにFileStreamインスタンスを渡すと、単にファイルを上書きするように設定できます。コンストラクタと一緒に渡してください。

http://msdn.microsoft.com/en-us/library/system.io.filestream.filestream.aspx

例:また

try 
{ 
    using (FileStream fs = new FileStream(filename, FileMode.Create)) 
    { 
     //FileMode.Create will make sure that if the file allready exists, 
     //it is deleted and a new one create. If not, it is created normally. 
     using (StreamWriter sw = new StreamWriter(fs)) 
     { 
      //whatever you wanna do. 
     } 
    } 
} 
catch (Exception e) 
{ 
    System.Diagnostics.Debug.WriteLine(e.Message); 
} 

、これであなたは.Closeメソッドを使用する必要はありません。 using()関数がそれを行います。

0

お試しSystem.IO.File.CreateText

関連する問題