14
votes

I want read one file .txt in root folder of my project into my database at first time application launch, but I don't know how to do that. Anyone know how can I do that, please help me... Thanks

I'm working in Windows Phone 8.1 Runtime.

3
What do you mean by old version (WP8.1 Runtime is quite new)? Do you get any exceptions? Have you added file assotiations?Romasz
I edited my question...Bolt Delta

3 Answers

33
votes

If you want to read a file from your project you can for example do it like this:

string fileContent;
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///example.txt"));
using (StreamReader sRead = new StreamReader(await file.OpenStreamForReadAsync()))
fileContent = await sRead.ReadToEndAsync();

Also please ensure that you have set the Build Action of your file as Content (it should be as default).

More about URI schemes you will find here at MSDN.

9
votes

A slightly different way to access the file:

var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
var file = await folder.GetFileAsync("sample.txt");
var contents = await Windows.Storage.FileIO.ReadTextAsync(file);
1
votes

It can only run in Windows Phone 8.1. No previous version of windows phone (Windows Phone 8, Windows Phone 7) would be able to run your app.