所以我正在学习如何开发软件,而且我遇到了问题。当我在Visual Studio中创建一个表单并让它打开一个文档或打开其他东西时,当我点击一个按钮时,我指向它:
C:\User\MyName\Documents\TestApp\test.txt
我想知道的是如何将程序看到TestApp文件夹而不是C:Drive?假设运行程序所需的所有文件都位于TestApp文件夹中。
答案 0 :(得分:2)
如果你知道你的应用程序每次都会从同一个地方运行(比如文件夹),你可以调用GetCurrentDirectory()方法。这将返回运行您的应用程序的当前目录的字符串。
String pwd = GetCurrentDirectory(); //Contains something like C:\Users\Daedric\TestApp\
String finalString = Path.Combine(pwd, "test.txt"); //As per Corak
答案 1 :(得分:1)
您需要从应用文件夹中启动文件吗?
Application.StartupPath
用于启动文件
Process.Start(Application.StartupPath + @"\test.txt");
答案 2 :(得分:0)
除上述答案外,以下示例可帮助您了解Path的工作原理:
class Program
{
static void Main()
{
string[] pages = new string[]
{
"cat.aspx",
"really-long-page.aspx",
"test.aspx",
"invalid-page",
"something-else.aspx",
"Content/Rat.aspx",
"http://dotnetperls.com/Cat/Mouse.aspx",
"C:\\Windows\\File.txt",
"C:\\Word-2007.docx"
};
foreach (string page in pages)
{
string name = Path.GetFileName(page);
string nameKey = Path.GetFileNameWithoutExtension(page);
string directory = Path.GetDirectoryName(page);
//
// Display the Path strings we extracted.
//
Console.WriteLine("{0}, {1}, {2}, {3}",
page, name, nameKey, directory);
}
}
}
示例输出如下:
输入 C:\ Windows \ File.txt GetFileName :File.txt GetDirectoryName :C:\ Windows
答案 3 :(得分:0)
GetCurrentDirectory不是正确的方法,因为在应用程序运行时返回值可能会发生变化。您只需在控制台应用程序中运行以下内容即可看到此信息:
Console.WriteLine(Directory.GetCurrentDirectory());
Directory.SetCurrentDirectory(@"c:\temp\");
Console.WriteLine(Directory.GetCurrentDirectory());
您可以使用以下内容为您提供装配位置:
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)