文件夹路径末尾的反斜杠是否相关?

时间:2017-10-16 13:59:31

标签: c# filepath

我正在编写一个程序,将所有文件和目录从源位置复制到目标位置。这两个位置均由用户提供。

我只是考虑检查位置路径末尾是否有反斜杠“\”,当我决定运行一些测试时,如果你告诉c#

,我认为这并不重要
File.Copy("C:\\test", "D:\\test")`  

File.Copy("C:\\test\\", "D:\\test\\")`

我错了吗?文件路径末尾的反斜杠是否重要?

2 个答案:

答案 0 :(得分:4)

更新:

在Windows上,您显然无法将文件和文件夹命名为相同,因此无关紧要。你仍然应该使用(背面)斜线来获得良好的风格和跨平台的兼容性。某些软件或库甚至可能依赖它。

原始答案:

文件夹通常以\(或/)结尾,因为可能有一个没有扩展名的文件,名为test。例如,这两个可以共存(Linux [注意不同的大写]):

文件夹:/Users/nikxda/Docouments/Test/
档案:/Users/nikxda/Docouments/test

如果您的工作区分大小写,那么您实际上可以在Windows上忽略它。我仍然建议使用尾部斜杠,仅用于

  • 澄清(指定它是一个文件夹)
  • 好的风格(遵循惯例)
  • 兼容性(其他软件,库等可能取决于它)
  • 跨平台(OSX,...)

所以是的,如果引用文件夹,你应该总是在路径的末尾使用(后退)斜杠。

答案 1 :(得分:1)

它应该没有区别,因为 - 在Windows上 - 你不能有一个文件夹" test"和文件名为" test"同时在同一个父目录中没有扩展名。

但是,在代码中使用尾部反斜杠会更加清晰,因为这样就不会有任何猜测的余地。而且对于跨平台的目的来说也会更好。

例如,考虑到URI,顺便说一句,它绝对可以在尾部斜杠或没有尾部斜杠之间产生差异。

TLDR:请使用尾随(后退)斜杠: - )