绝对路径和相对路径有什么区别

本文关键字:路径 什么 区别 相对 | 更新日期: 2023-09-27 18:32:11

我问是因为我正在为学校做一个项目。是的,这是家庭作业。但是,不过,我试图了解更多。

这是所问的一个例子。

• 当用户单击"保存"按钮时,将所选记录写入 txtFilePath 中指定的文件(绝对路径不是相对路径),而不截断当前内部的值。

这就是我所拥有的,

private void button2_Click(object sender, EventArgs e)
{
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        StreamWriter myWriter = new StreamWriter(saveFileDialog1.FileName);
        myWriter.Write(txtFilePath.Text);
        myWriter.Close();
    }
}

现在,我不明白我这样做是否正确。我知道当我将其保存到桌面并将其从列表框中删除时,当我尝试再次重新加载它时,什么都没有显示。这是我的表格上的内容,

private void button1_Click(object sender, EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        StreamReader myReader = new StreamReader(openFileDialog1.FileName);
        txtFilePath.Text = openFileDialog1.FileName;
        txtFilePath.Text = myReader.ReadToEnd();
        myReader.Close();
    }
}    

这就是负载,

private void Form1_Load(object sender, EventArgs e)
{
    string[] myFiles = Directory.GetFiles("C:''");
    foreach (string filename in myFiles)
    {
        FileInfo file = new FileInfo(filename);
        employeeList.Items.Add(file.Name);
    }
    //...

有人可以帮我理解这一点吗?

绝对路径和相对路径有什么区别

假设您正在为一个地点指路。您可以通过两种方法描述到达该位置:

  • 相对于你的立场,
  • 相对于地标。

两者都能把你带到同一个位置,但前者并不总是有效("向左走,然后向右走,穿过两个灯然后走另一个右转"不一定在下一个城镇工作,但从你站立的地方工作)。这就是本质的区别。

如果你有C:'Windows'System32,那就是一条绝对的道路。如果你有Windows'System32,它只会在你从C:'开始的时候起作用。如果你从C:'Program Files开始,你需要一个..'才能正确到达那里。

但是,无论您在硬盘驱动器上的哪个位置,C:'Windows'System32'都是访问该文件夹的最终方法。

这实际上是一个简单的区别。相对文件路径将是基于根节点的结构;绝对路径将是基于非模糊位置的结构。这听起来有点不稳定,但实际上很简单。

以下是一些示例:

绝对路径

 C:'inetpub'yourapplication'default.aspx
 http://www.yourapplication.com/default.aspx

这些路径是绝对的,因为它们是非歧义的。示例 1 显示绝对文件路径,示例 2 显示绝对 URL。

相对路径

./../script/something.js
~/default.aspx

相对路径根据某个已知的前方参考点指定位置。所以在示例 1 中,你知道向上进入一个目录,然后向下进入一个名为 script 的目录,然后进入 javascript 文件。在示例二中,您将指定应用程序根目录中包含的 aspx 页。

因此,与您的

特定问题密切相关,您希望将文件写入特定的绝对路径,这意味着它需要是一个不明确的位置。

绝对路径是访问文件系统中的位置所需的整个路径名。
例如:C:'Program Files'Internet Explorer'iexplorer.exe

其中相对路径与某些地标有关,通常是您的主要可执行文件位置或打开程序时设置的"开始位置"。

例如,如果主可执行文件位于 C:'Program Files'iexplorer.exe 的相对路径为 Internet Explorer'iexplorer.exe

这通常是在您并不总是知道文件绝对在哪里时完成的,例如它将安装在哪个驱动器号或它将位于哪个文件夹下。

但是,举一个很好的例子,如果你的文件随程序一起提供,并且你知道你的程序安装结构,你可以使用相对路径来查找所有文件,而不管你的程序安装在什么地方,而不是每次都需要将程序安装在完全相同的位置的路径。