为什么这个无效的文件路径与 // 有效

本文关键字:路径 文件 有效 无效 为什么 | 更新日期: 2023-09-27 18:22:03

我在某个 Class1 中有这个函数:

    public void function1(String path){
  this.excel = new Application();
  this.wbooks = excel.Workbooks;
  this.wb = wbooks.Open(path);
  String rootPath = wb.Path+"//..//..//";
  String nPath = String.Format("{0}//Loads//{1}//{2}",rootPath,name1,name2);
  String outputDir = String.Format("{0}//Input//{1}//{2}", rootPath, name1, name2);
  String erroDir = String.Format("{0}//Erro//{1}//{2}", rootPath, name1, name2);
  for(int i = 0; i < size; i++){
     String[] array2 = File.ReadAllLines(String.Format("{0}//{1}_{2}.txt", nPath, name1, i.ToString()));
     //code
     Directory.CreateDirectory(erroDir);
     File.WriteAllLines(String.Format("{0}//erro_{1}_{2}.txt", erroDir, name1, i.ToString()), array);
     Directory.CreateDirectory(outputDir);
     File.WriteAllLines(String.Format("{0}//output_{1}.txt", outputDir, name2), array);
  }
}

这个函数来自一个类,在主函数中像这样调用:

String path = "C:''Users''myUsername''Desktop''myFolder''";
Class1 temp = new Class1();
temp.function1(path);

为什么函数中创建的路径有效?路径不应设置为"''''"而不是"//"。

为什么这个无效的文件路径与 // 有效

为什么函数中创建的路径有效?路径不应设置为"''"而不是"//"。

是的,他们应该。但Windows是"智能的"。它试图确定你实际想问什么,在这种情况下,如果文件路径以C:开头,例如,它"知道"它是一个本地文件路径,因此它试图解释它。

请注意,并非所有程序都那么聪明。例如,某些 .NET 生成工具(不是 C# 本身(以处理此类文件路径时的一些错误而闻名。