【问题标题】:Why does my filename cut-off when I copy a file from one directory to another?当我将文件从一个目录复制到另一个目录时,为什么我的文件名会中断?
【发布时间】:2013-04-23 22:06:34
【问题描述】:

我有这行代码将文件从一个目录复制到另一个目录:

File.copy(Path.Combine(sourceDir, fileName), Path.Combine(destinationDir, fileName), true);

当我单步执行代码时,所有变量都有正确的值和完整的文件名,但是当我查看目标目录 (destinationDir) 中的文件时,该文件仅包含原始文件名的一部分。 ..

原始文件名是New Employee Orientation - Benefits,当它被复制到新的目的地时是New Employee Orientation - Benefi

我有另一个名称相似的文件,它以相同数量的字符(包括空格)截断。

【问题讨论】:

  • 无论如何,目录结构真的很长吗?如,大约 200 多个字符长?编辑:再想一想,这一定是公司slashing employee benefits 的一次微妙尝试。
  • 你能确认Path.Combine返回的字符串是满的吗? @ChrisSinclair - 哇! :D
  • @ChrisSinclair - 削减福利.... 不错,哈哈 但是不,该目录有 64 个字符长。

标签: c# visual-studio-2010 file copy console-application


【解决方案1】:

File.copy 是您自己的函数还是拼写错误?如果使用 .NET 的 Copy 功能,则应为 File.Copy。如果它是您自己的,仍然需要查看并演练该代码。

否则,字符限制为 260 并且可能是罪魁祸首。将Path.Combine(string,string) 移出File.copy 并检查值和长度。 请参阅Naming Files, Paths and Namespaces 了解更多信息。

【讨论】:

  • 这是一个错字。对不起。我会试试你的建议
猜你喜欢
  • 2012-03-24
  • 2012-02-15
  • 2017-11-18
  • 2013-06-01
  • 2020-06-22
  • 2014-08-12
  • 2013-10-24
  • 2011-10-24
相关资源
最近更新 更多