首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# File.ReadAllLines()的日期问题

c# File.ReadAllLines()的日期问题
EN

Stack Overflow用户
提问于 2015-07-15 12:24:12
回答 2查看 439关注 0票数 0

出于某种原因,File.ReadAllLines似乎有一个奇怪的问题,将所有日期从yyyy/mm/dd转换为yy/mm/dd。

问题是,我正在处理历史数据,这些数据可以追溯到1901年以后,从而导致了速记日期表示法的问题.

代码语言:javascript
复制
public static string[] readFileToStringArray(string filePath = null, string fileName = null)
{
    string[] lines = null;
    if (File.Exists(filePath + fileName))
    {
        //lines = File.ReadAllLines(filePath + fileName);
        lines = File.ReadAllLines(filePath + fileName, Encoding.UTF8);
        string unescape = String.Empty;
        List<string> thisCSV = new List<string>();
        foreach (string line in lines)
        {
            unescape = line.Replace("\"", "");
            thisCSV.Add(unescape );
        }
        lines = thisCSV.ToArray();
    }
    return lines;
}

奇怪的是,它并不是对所有的文件都这样做,我有几个运行这个脚本。然后我检查了物理文件,那里的一切都井然有序。

它是一个有效的CSV,一切都封装为文本。

是否知道如何否定这一点,因为修复内存/流中的整个数据集是不可能的?已经检查了MSDN,但没有任何帮助。

此时所涉及的唯一其他代码是一个助手方法,但与它无关,因为它所做的唯一事情就是创建一个文件名列表。

代码语言:javascript
复制
public static List<string> GetFilesinDirectory(string filesPath)
{
    List<string> files = new List<string>();
    string physicalFilesPath = (string)HttpContext.Current.Server.MapPath(filesPath);
    System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(physicalFilesPath);
    foreach (var file in dir.GetFiles())
    {
        string thisfile = physicalFilesPath + "\\" + (string)file.Name;
        files.Add(thisfile);
    }
    return files;
}

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-07-15 12:48:48

ReadAllLines永远不会像描述的那样格式化日期,而且我无法复制这个问题。

将多余的ToString()

代码语言:javascript
复制
unescape = line.ToString().Replace("\"", "");

因为它已经是一个字符串了,这里的参数可能会不正确地格式化行。

哦,确保你在文本编辑器中查看的是物理文件,而不是用于比较,否则它看起来就不一样了。

你能发布一些不能正常工作的示例日期吗?

票数 0
EN

Stack Overflow用户

发布于 2015-07-16 06:51:34

与其说是答案,不如说是解决我的问题的办法。

  1. 关闭所有应用程序
  2. 进行了一次ccleaner清理
  3. 重新安装Visual
  4. 重新安装dotnet框架4.5.2
  5. 注册了框架

为了谨慎起见,在一个普通的新项目中重写了我的代码。

神奇的是,一切都像现在应该的那样运作。

~~我想我现在知道了医生用抗生素感染细菌的感觉(你不完全确定是什么把戏,也不知道是什么引起了问题,但它已经解决了)~

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31430317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档