如何在C#中触摸文件?

Mat*_*lls 53 .net c# file

在C#中,最简单/最安全/最短的方法是使文件看起来好像已经被修改(即它的最后修改日期)而不改变文件的内容?

Mat*_*lls 69

System.IO.File.SetLastWriteTimeUtc(fileName, DateTime.UtcNow);
Run Code Online (Sandbox Code Playgroud)

  • @coirius FYI ...您需要确保关闭File.Create创建的流. (8认同)
  • 不幸的是,这不会创建一个尚不存在的文件. (2认同)

Edw*_*vey 5

这有效。可以抛出 DirectoryNotFoundException,以及 File.Open() 抛出的各种其他异常

public void Touch(string fileName)
{
    FileStream myFileStream = File.Open(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
    myFileStream.Close();
    myFileStream.Dispose();
    File.SetLastWriteTimeUtc(fileName, DateTime.UtcNow);
}
Run Code Online (Sandbox Code Playgroud)