私はテキストファイルを書いていて、書くたびに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から以前のコンテンツをすべて削除したい。
実際には、テキストファイルからすべてのコンテンツを削除する方法または方法(単なる名前でもよい)を知っている必要があります。
空の文字列を既存のファイルに書き込むだけです。
File.WriteAllText(@"Default\DefaultProfile.txt", string.Empty);
または、StreamWriter
コンストラクターの2番目のパラメーターをfalse
に変更しますappendingではなくファイルの内容をreplaceに変更します。
あなたは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");
}
最も簡単で効率的な方法は、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(".");
}
FileMode.Truncate
を使用できます。コードは次のようになります
FileStream fs = new
FileStream(filePath, FileMode.Truncate, FileAccess.Write )
{
fs.Close();
}
true
のコンストラクターで、2番目のパラメーターをfalse
からStreamWriter
に変更するだけです。
using (StreamWriter sw = new StreamWriter(("Default//DefaultProfile.txt").ToString(), **false**))
StreamWriter Contructor を参照してください
System.IO.File.Delete
、またはSystem.IO.FileStream
コンストラクタオーバーロードFileMode.Create