C#.NET文件复制目录路径

本文关键字:路径 复制 NET 文件 | 更新日期: 2023-09-27 18:21:45

首先将先决条件与这个问题结合起来。我不是母语人士,我今天开始学习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/"?基本上,我希望我的程序假设它在另一个软件的"正确目录"中,我不想指定该目录的整个路径。换句话说,我的程序知道它当前在哪个目录中吗?如果不知道,我如何让它知道?我希望我的措辞正确。谢谢你的帮助。

C#.NET文件复制目录路径

您可以为I/O操作提供一个相对路径,默认路径是Environment.CurrentDirectoy值,这将是Windows Forms可执行文件的工作目录。

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

为了确保您引用的是应用程序的路径,您可以使用以下命令:

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

AppDomain.CurrentDomain.BaseDirectory

请记住验证您引用的目录是否存在,否则您可能会得到DirectoryNotFoundException