web-dev-qa-db-ja.com

書く前に以前のテキストをすべて削除します

私はテキストファイルを書いていて、書くたびにclearテキストファイルにしたいと思っています。

try
{
    string fileName = "Profile//" + comboboxSelectProfile.SelectedItem.ToString() + ".txt";
    using (StreamWriter sw = new StreamWriter(("Default//DefaultProfile.txt").ToString(), true))
    {
        sw.WriteLine(fileName);
        MessageBox.Show("Default is set!");
    }
    DefaultFileName = "Default//DefaultProfile.txt";
}
catch 
{ 
}

どうすればよいですか? DefaultProfile.txtから以前のコンテンツをすべて削除したい。

実際には、テキストファイルからすべてのコンテンツを削除する方法または方法(単なる名前でもよい)を知っている必要があります。

12
Abdur Rahim

空の文字列を既存のファイルに書き込むだけです。

File.WriteAllText(@"Default\DefaultProfile.txt", string.Empty);

または、StreamWriterコンストラクターの2番目のパラメーターをfalseに変更しますappendingではなくファイルの内容をreplaceに変更します。

18
Cᴏʀʏ

あなたはTruncateメソッドを見ることができます

FileInfo fi = new FileInfo(@"Default\DefaultProfile.txt");
using(TextWriter txtWriter = new StreamWriter(fi.Open(FileMode.Truncate)))
{
    txtWriter.Write("Write your line or content here");
}
12
MethodMan

最も簡単で効率的な方法は、StreamWriterコンストラクタのブールパラメータを使用することです。 falseに設定すると、現在の操作でファイルが上書きされます。たとえば、数学演算の出力をテキストファイルに保存する必要がありました。テキストファイルの現在の回答だけを欲するたびに。したがって、最初のStreamWriter操作で、ブール値をfalseに設定し、その後の呼び出しでbool valをtrueに設定しました。その結果、新しい操作ごとに、以前の回答が上書きされ、新しい回答のみが表示されます。

        int div = num1 / denominator;
        int mod = num1 % denominator;
        Console.Write(div);
        using (StreamWriter writer = new StreamWriter(FILE_NAME, false ))
        {
            writer.Write(div);
        }
        Console.Write(".");
        using (StreamWriter writer = new StreamWriter(FILE_NAME, true))
        {
            writer.Write(".");
        }       
6
BrianK

FileMode.Truncateを使用できます。コードは次のようになります

FileStream fs = new 
FileStream(filePath, FileMode.Truncate, FileAccess.Write )
{  
  fs.Close();
}
2
Amit Jaura

trueのコンストラクターで、2番目のパラメーターをfalseからStreamWriterに変更するだけです。

using (StreamWriter sw = new StreamWriter(("Default//DefaultProfile.txt").ToString(), **false**))

StreamWriter Contructor を参照してください

1
MicheevSemen

System.IO.File.Delete、またはSystem.IO.FileStreamコンストラクタオーバーロードFileMode.Create

1
Sam Axe