C# X时间后清除文件内容
我需要一种在一定时间后清除文本文件的方法。这就是我目前所拥有的C# X时间后清除文件内容,c#,twitch,C#,Twitch,我需要一种在一定时间后清除文本文件的方法。这就是我目前所拥有的 List<string> previousWeaponList = new StreamWriter("PreviousList.txt"); 然后有一个run函数,如果它是真的,它只会写入文件,然后使用 Thread.Sleep(); 我听说在时间上使用线程不是一个好主意,但我不是这方面的专家。使用a,并将其已用事件的回调设置为文件清理方法 var timer = new Timer(10000); timer.E
List<string> previousWeaponList = new StreamWriter("PreviousList.txt");
然后有一个run函数,如果它是真的,它只会写入文件,然后使用
Thread.Sleep();
我听说在时间上使用线程不是一个好主意,但我不是这方面的专家。使用a,并将其已用事件的回调设置为文件清理方法
var timer = new Timer(10000);
timer.Elapsed += (s, e) => File.Delete("C:\\your_file.txt");
timer.Enabled = true;
如果您需要停止计时器,请将timer.Enabled
设置为false
非常类似的问题和答案如下:
有关答复:
我建议使用System.Threading.Timer执行类似操作。下面是一个示例实现:
System.Threading.Timer DeleteFileTimer = null;
private void CreateStartTimer()
{
TimeSpan InitialInterval = new TimeSpan(0,0,5);
TimeSpan RegularInterval = new TimeSpan(5,0,0);
DeleteFileTimer = new System.Threading.Timer(QueryDeleteFiles, null,
InitialInterval, RegularInterval);
}
private void QueryDeleteFiles(object state)
{
//Delete Files Here... (Fires Every Five Hours).
//Warning: Don't update any UI elements from here without Invoke()ing
System.Diagnostics.Debug.WriteLine("Deleting Files...");
}
private void StopDestroyTimer()
{
DeleteFileTimer.Change(System.Threading.Timeout.Infinite,
System.Threading.Timeout.Infinite);
DeleteFileTimer.Dispose();
}
这样,您就可以在windows服务中运行文件删除代码,而无需太多麻烦
System.Threading.Timer DeleteFileTimer = null;
private void CreateStartTimer()
{
TimeSpan InitialInterval = new TimeSpan(0,0,5);
TimeSpan RegularInterval = new TimeSpan(5,0,0);
DeleteFileTimer = new System.Threading.Timer(QueryDeleteFiles, null,
InitialInterval, RegularInterval);
}
private void QueryDeleteFiles(object state)
{
//Delete Files Here... (Fires Every Five Hours).
//Warning: Don't update any UI elements from here without Invoke()ing
System.Diagnostics.Debug.WriteLine("Deleting Files...");
}
private void StopDestroyTimer()
{
DeleteFileTimer.Change(System.Threading.Timeout.Infinite,
System.Threading.Timeout.Infinite);
DeleteFileTimer.Dispose();
}