我正在尝试使用.Net提取文本文件的创建时间和上次访问时间。我写了以下代码
使用System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text; 使用System.IO;
命名空间ConsoleApplication3 {
课程计划 {
static void Main()
{
FileInfo info = new FileInfo("C:\\file.txt");
DateTime time = info.CreationTime;
Console.WriteLine(time);
time = info.LastAccessTime;
Console.WriteLine(time);
time = info.LastWriteTime;
Console.WriteLine(time);
Console.ReadLine();
}
} }
输出
01-01-1601 5:30:00 01-01-1601 5:30:00 01-01-1601 5:30:00
我无法理解为什么它以这种方式给我输出并且它有什么问题? 我该如何纠正?
答案 0 :(得分:0)
来自MSDN:
如果FileSystemInfo对象中描述的文件不存在,则此属性将返回公元1601年1月1日午夜12点,协调世界时(UTC),调整为当地时间。
所以我猜你是在东部时区,(格林尼治标准时间+5.5小时)基于05:30 AM的时间戳。
逐步执行代码并确保文件存在,并且运行该程序的用户可以访问该文件。
在尝试使用对象中的任何值之前,始终检查FileInfo.Exists()。
考虑在路径字符串前加一个@
例如:@"c:\file.txt"
。 @将中止任何转义序列。
答案 1 :(得分:0)
@"C:\folder\file.txt"
或
"C:\\folder\\file.txt"
。不要试图混淆两者。这很可能是上述原因之一。