使用C#获取C盘.txt文件创建日期出现异常值,求原因解析
文件创建日期返回1600年的原因及解决办法
- 你看到的
12/31/1600 7:00:00 PM是.NET中File.GetCreationTime方法的默认返回值,当方法无法找到你指定路径的文件时,就会返回这个基准时间,而不是直接报错。 - 问题出在你的路径写法上:你用了
@"C:\\docname.txt",@符号表示逐字字符串,里面的反斜杠不会被转义,所以实际路径会被解析成C:\\docname.txt——系统会认为你要找的是C盘根目录下文件名带反斜杠的docname.txt,这显然和你实际创建的文件路径不匹配,自然找不到目标文件。
正确的路径写法二选一即可:- 用逐字字符串:
@"C:\docname.txt" - 不用逐字字符串:
"C:\\docname.txt"
- 用逐字字符串:
- 可以加个文件存在性检查,避免这种静默返回默认值的情况:
string filePath = @"C:\docname.txt"; if (File.Exists(filePath)) { DateTime fileCreatedDate = File.GetCreationTime(filePath); Console.WriteLine(fileCreatedDate.ToString()); } else { Console.WriteLine("指定的文件不存在"); }
内容的提问来源于stack exchange,提问作者MidnightBlueKnight
相关产品推荐
相关产品推荐

