C#.NET file.copy目录路径

时间:2014-09-14 13:16:12

标签: c# path directory copy-paste

首先考虑这个问题的先决条件。我不是母语人士,今天我开始学习C#,几乎没有任何编程知识,我想编写windows表单程序,将程序中包含的文件(图形资源)复制到另一个程序目录中的某些文件夹中(更确切地说,我想通过单击按钮修改图形资源然后能够更改它们。我做了我的研究,我知道我应该使用File.Copy方法我只有一个关于我找到的代码的问题:

static void Main()
{
    string fileName = "test.txt";
    **string sourcePath = @"C:\Users\Public\TestFolder";
    string targetPath =  @"C:\Users\Public\TestFolder\SubDir";**

    // Use Path class to manipulate file and directory paths.
    string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
    string destFile = System.IO.Path.Combine(targetPath, fileName);

我知道这不是完整的代码,但这是我想问我的问题的部分。我可以像这样定义sourcePath和targetPath,例如:“./ folder / folder2 /”?基本上我希望我的程序假设它在另一个软件的“正确目录”中,我不想指定该目录的完整路径。换句话说,我的程序知道它当前在哪个目录,如果不知道我怎么能让它知道?我希望我说的正确。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

为了确保您指的是应用程序的路径,您可以使用它:

string exePath = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetEntryAssembly().Location);

AppDomain.CurrentDomain.BaseDirectory

记得确认您正在申请的目录是否存在,否则您可能会获得DirectoryNotFoundException

答案 1 :(得分:2)

您可以提供I / O操作的相对路径,默认路径是Environment.CurrentDirectoy值,大多数情况下,这将是Windows窗体可执行文件所在的目录。

请注意,您的路径中不需要./起点,File.Copy("FileA.txt", "FileA_1.txt")会在Environment.CurrentDirectory中查找这些位置。