简体   繁体   中英

How do I consume a file resource as a string, in Visual Studio?

When I add a txt file as a resource to a project, how can I then consume the contents of that resource as a string?

The closest I've been able to get is by using the Resource Manager, to pull an unmanaged stream. However, this throws a null error:

using (StreamReader sr = new StreamReader(
    Properties.Resources.ResourceManager.GetStream(
        "TestFile.txt", CultureInfo.CurrentCulture)))
{
    Console.WriteLine(sr.ReadToEnd());
}

You could do this too:

var myAss = Assembly.GetExecutingAssembly();
var mytxtFileResource = "Namespace.Project.MyTxtFile.txt";

using (Stream stream = assembly.GetManifestResourceStream(mytxtFileResource))
using (StreamReader reader = new StreamReader(stream))
{
    string result = reader.ReadToEnd();
}

You dont need to do it like that for text files Just write it like this https://msdn.microsoft.com/en-us/library/aa287548(v=vs.71).aspx

System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test.txt");
file.WriteLine(lines);
file.Close();

and read it like this: https://msdn.microsoft.com/en-us/library/aa287535(v=vs.71).aspx

int counter = 0;
string line;

// Read the file and display it line by line.

System.IO.StreamReader file = 
   new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null)
{
   Console.WriteLine (line);
   counter++;
}

file.Close();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM