What is the difference between an absolute and a relative path?
absolute-path, c#, path, relative-path
Solution
Say you were giving directions to a spot. You have two methods you can describe getting to the location:
- Relative to where you stand,
- Relative to a landmark.
Both get you to the same location, but the former doesn't always work ("take a left, then a right, go through two lights then take another right" wouldn't necessarily work from the next town over, but works from where you stand). That's essentially the difference.
If you have `C:\Windows\System32`, that's an absolute path. If you have `Windows\System32`, it will only work so long as you're starting from `C:\`. If you start in `C:\Program Files` you would need a `..\` to get there correctly.
However, no matter where you are on the hard drive, `C:\Windows\System32\` is a definitive way to get to that folder.
Problem
I am asking because I am working on a project for school. Yes this is homework. But, I'm trying to understand a little bit more, though. This is one example of what is being asked. • When the user clicks the “Save” button, write the selected record to the file specified in txtFilePath (absolute path not relative) without truncating the values currently inside. This is what I have, ``` 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(); } } ``` Now, I don't understand if I am doing this right. I know when I save it to my desktop and I delete it from my listbox and when I try to reload it again nothing shows up. This is what I have on my form, ``` 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(); } } ``` And this is the load, ``` 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); } //... ``` Can someone please help me make sense of this?