Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Fileinfo上次访问的毫秒为';t更新_C#_.net_Fileinfo - Fatal编程技术网

C# Fileinfo上次访问的毫秒为';t更新

C# Fileinfo上次访问的毫秒为';t更新,c#,.net,fileinfo,C#,.net,Fileinfo,在monitorCallback()方法中,我将时间写入文本文件。 写入文件后,我检查文件的文件信息并打印它 我得到以下结果: time = 16/08/2009 14:01:46, mili = 307 time = 16/08/2009 14:01:51, mili = 291 time = 16/08/2009 14:01:56, mili = 291 time = 16/08/2009 14:02:01, mili = 291 time = 16/08/2009 14:02:06, mi

在monitorCallback()方法中,我将时间写入文本文件。 写入文件后,我检查文件的文件信息并打印它

我得到以下结果:

time = 16/08/2009 14:01:46, mili = 307
time = 16/08/2009 14:01:51, mili = 291
time = 16/08/2009 14:01:56, mili = 291
time = 16/08/2009 14:02:01, mili = 291
time = 16/08/2009 14:02:06, mili = 291
time = 16/08/2009 14:02:11, mili = 291
我不明白为什么时间在变,但毫秒是固定的

 private Timer monitor;
 public Window1()
            {
                InitializeComponent();
                monitor = new Timer(monitorCallback, null, 0, 5000);
            }

    private void monitorCallback(object state)
            {
                string path = @"C:\Test.txt";
                Stream stream = File.OpenWrite(path);
                StreamWriter writer = new StreamWriter(stream);
                writer.WriteLine(DateTime.Now);
                writer.Close();

                FileInfo fileInfo = new FileInfo(path);
                Dispatcher.Invoke(DispatcherPriority.Normal,
                    new Action(delegate
                   {
                         Debug.WriteLine( "time = " + fileInfo.LastWriteTimeUtc + ", mili = " +
     fileInfo.LastWriteTimeUtc.Millisecond);


                   }));

                fileInfo = null;

            }

您正好每5000毫秒调用一次此操作。因此,如果操作完成所需时间少于1 ms,则文件时间戳的毫秒部分不会更改,例如:

  • 时间1=16/08/2009 14:01:51.291
  • 时间2=16/08/2009 14:01:56.291(=时间1+5000毫秒)
  • 等等

尝试更改间隔(例如,更改为5003 ms)以查看毫秒部分是否已更新。

似乎找不到任何关于它的信息,但可能是时间粒度?第一个时间戳和第二个时间戳之间的差异是5000毫秒我应该看到,时间戳已更改,但只有此毫秒属性未更改