Path.GetFullPath函数仅在当前项目中搜索

时间:2016-10-31 22:39:09

标签: c# file directory filepath

    private static void saveDirAndFiles(TreeNode currNode)
    {

        using (StreamWriter file =  new StreamWriter("test.html"))
        {
            if(currNode.ValueType=="DIR") //Are you a File or Directory
            {
                file.WriteLine(currNode.Value);//relative Name of Directory
            }
            else
            {
                string[] file1 = File.ReadAllLines(Path.GetFullPath(currNode.Value)); //EXEPTION

                string prgcode = "";
                foreach (string line in file1)
                {
                    prgcode += line;
                }

                file.WriteLine(currNode.Value);//relative Name of File +...
                file.WriteLine(String.Format("<code><pre>{0}</pre></code>", prgcode)); //... The Content of the File
            }

        }
        foreach (TreeNode item in currNode.ChildNodes)
        {
            saveDirAndFiles(item);
        }

    }

该功能仅在我正在处理的项目中搜索绝对路径。我的项目在桌面上,文件名在C目录上。异常说:找不到Project \ bin \ debug \ Filename。

1 个答案:

答案 0 :(得分:1)

Path.GetFullPath为您提供给定路径序列的绝对文件路径,该路径序列可以是绝对路径也可以是相对路径。它甚至不检查文件是否存在,也不在文件系统中执行搜索。

如果要从其他位置加载文件,则可以有两个选项:使用Path.Combine(优选选项)将相对路径显式重新绑定到不同的基本路径,或者更改环境当前工作目录(可能在您的申请的其他部分有副作用。)