【发布时间】:2017-08-28 11:06:18
【问题描述】:
我的应用程序的根目录中有文件。
当我使用下面的代码时:
string startupPat = System.IO.Directory.GetCurrentDirectory();
还需要 ...\bin\Debug\
如何移动避免这种情况?
【问题讨论】:
-
避免`\bin\Debug`是什么意思?=!
我的应用程序的根目录中有文件。
当我使用下面的代码时:
string startupPat = System.IO.Directory.GetCurrentDirectory();
还需要 ...\bin\Debug\
如何移动避免这种情况?
【问题讨论】:
工作代码:
string test= File.ReadAllText(Path.Combine(System.IO.Directory.GetCurrentDirectory(), "..\\..\\test.txt"));
【讨论】:
\bin\Debug 是您的程序将被编译到的默认文件夹。如果您从 Visual Studio 运行程序,这很可能是当前目录。无论如何,当您将程序复制到另一个文件夹时,System.IO.Directory.GetCurrentDirectory() 应该返回该文件夹。
对于您的文件,您必须在属性中将 copy to output directory 设置为 always,以便将文件复制到您的程序所在的位置。
对于与您的程序位于同一目录中的所有文件,您不需要任何路径,您可以使用相对文件名
var textReadFromFile = File.ReadAllText("myfile.txt");
【讨论】:
Path.Combine(startupPath, "myfile.txt")
myfile.txt 与您的程序位于同一目录中,则相对文件名将默认为该目录。
File.ReadAllText("myfile.txt"); - 相应地编辑我的答案。