Hammerh5 Hammerh5 - 1 month ago 9
C# Question

File path for project files?

I am working on a media player in C# but when I want to make my test I have a problem.

I have to create a new object song with the following path:

@"C:\Users\Jesus Antonio\Desktop\JukeboxV2.0\JukeboxV2.0\Datos\ich will.mp3"


It works but when I change the computer I have to rewrite the entire path,
My project is called JukeboxV2.0

In java I remember you can just write the path for example

@"JukeboxV2.0\JukeboxV2.0\Datos\ich will.mp3"


This will save a lot of time because I can take my project to different computers and it works, but here I don't known how to do that, anyone know?

Answer

You would do something like this to get the path "Data\ich_will.mp3" inside your application environments folder.

string fileName = "ich_will.mp3";
string path = Path.Combine(Environment.CurrentDirectory, @"Data\", fileName);

In my case it would return the following:

C:\MyProjects\Music\MusicApp\bin\Debug\Data\ich_will.mp3

I use Path.Combine and Environment.CurrentDirectory in my example. These are very useful and allows you to build a path based on the current location of your application. Path.Combine combines two or more strings to create a location, and Environment.CurrentDirectory provides you with the working directory of your application.

The working directory is not necessarily the same path as where your executable is located, but in most cases it should be, unless specified otherwise.

Comments