【问题标题】:StreamReader throws NotSupportedException [duplicate]StreamReader 抛出 NotSupportedException [重复]
【发布时间】:2016-10-28 03:52:41
【问题描述】:

我已经这样做了数千次,我一生都无法弄清楚为什么下面的 StreamReader 会抛出这个错误。运行 Visual Studios 2010 和 .Net 4.0。它的旧东西,但以前从未给我带来问题。

var listOfEmailss = new List<string>();
         string emailFrom = email.Text.Trim();
        string pass = password.Text.Trim();
        StreamReader tr = new StreamReader(@"‪C:\Users\Tom\Desktop\emailTest.txt");
        string line = "";
        while ((line = tr.ReadLine()) != null)
        {
            listOfEmailss.Add(line.Split(',').Last().Trim());
        }

【问题讨论】:

  • 检查路径字符串中没有任何隐藏字符或代码点。我有时会遇到一些没有在编辑器中显示但会导致问题的问题

标签: c# c#-4.0


【解决方案1】:

This answer 表明您的字符串中可能存在隐藏的 unicode 字符。删除它并手动重新输入。

【讨论】:

  • 我一定错过了那个链接。但是,我没有看到删除这些字符文字的实际解决方案。手动重新输入所有内容是唯一的选择吗?无法在代码中删除它们。
  • 您必须手动重新键入字符串文字。您可能可以使用代码对其进行清理,但鉴于问题出在 source 上,您应该在那里修复它。
【解决方案2】:

这很烦人不是吗。我过去曾面对过。如果您从 Windows 资源管理器或其他地方复制了路径,则路径字符串中可能存在隐藏字符。我建议您明确删除文件路径并手动输入。

这应该对它进行排序。

确认复制相同的路径(您现在拥有的)并尝试创建一个 FIleInfo 对象。我的猜测是你也会在那里面临同样的例外。

【讨论】:

    【解决方案3】:

    问题是文件路径中嵌入了 unicode 字符。具体来说,最开始的引号和c之间有一个“从左到右嵌入”字符。

    我会删除这些字符并重新输入。

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多