Your code is trying to open a file called "Default.txt", which is located somewhere in the user's file system. Where exactly I do not know, as it depends on where the Silverlight application is running from. So yes, in general, you do not have permission to travel there.
To get something out of your XAP, you need to build a thread in a ton different ways. It will be as follows:
Stream s = Application.GetResourceStream( new Uri("/MyXap;component/Path/To/Default.txt", UriKind.Relative)).Stream; StreamReader reader = new StreamReader(s);
Note. This means that your Default.txt should be set to Resource, not Embedded Resource. Being a "resource", it will be added to XAP. Embedded Resource will add it to the assembly.
Additional information: http://nerddawg.blogspot.com/2008/03/silverlight-2-demystifying-uri.html
Note. In cases where your Silverlight program has multiple assemblies, verify that the "/ MyXap" part of the Uri line refers to the name of the assembly containing the resource. For example, if you have two assemblies, ProjectName and ProjectName.Screens, where ProjectName.Screens contains your resource, use the following:
new Uri("ProjectName.Screens;component/Path/To/Default.txt", UriKind.Relative))
source share