Question

I want to persist some data into a text file in my C# application. I added the text file to the root of my project.

How do I access it now? Will this file be embedded with my exe or what?

Was it helpful?

Solution

First, make sure that you right click the file and select "Copy to Output Directory".

Second, the file will not be embedded inside of your Executable. It will be a normal *.txt file alongside your *.exe and you would access it as such:

StreamWriter sw = null;
FileInfo fi = new FileInfo(Path.Combine(Application.StartupPath, "filename.txt"));

if(fi.Exists)
    sw = new StreamWriter(fi.Open(FileMode.Open));

OTHER TIPS

  1. You need to set the file to copy to output directory.
  2. You can access the path relatively ("file.txt", or ".file.txt")

It will not be embedded with your exe.

Read this for help on opening a file.

It will be in the same directory as your exe by default, you can also provide a specific path where it can be dropped to via the construct of your StreamWriter or w/e class you are using.

It sounds like your text file will contain "settings" for your application, and if you want to embed these settings then just use the actual Settings built into the project. Properties>Settings. MSDN: Settings

There's also the excellent Nini project (http://nini.sourceforge.net/manual.php) which makes it easy to access (and write) simple settings files of various flavors and to optionally combine them with command line parameters.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top