Открыть файл ресурсов с FileStream не удается
Я хочу открыть файл ресурсов с классом FileStream. Это текстовый файл, и я хочу прочитать его построчно.
FileStream fs = new FileStream(Properties.Resources.Testing, FileMode.Open, FileAccess.Read);
Вызываемое исключение System.ArgumentException
и это говорит, что есть недопустимый символ.
Я надеюсь, что кто-нибудь может помочь мне исправить это, или, если есть лучший способ, это тоже нормально, но мне нужен файл в.exe, поэтому он должен быть ресурсом..
1 ответ
Когда вы добавляете текстовый файл в качестве ресурса, он будет встроен в виде строки. Таким образом, ваш вызов конструктора FileStream предполагает, что вы пытаетесь открыть файл на диске с именем, совпадающим с содержимым текстового файла. Это плохо кончается конечно.
Не очень ясно, если вы действительно хотите поток, строка имеет тенденцию быть хорошей, как есть, вы можете рассмотреть метод String.Split(), чтобы разбить его на строки. Или, может быть, вам нравится класс StringReader, чтобы вы могли использовать ReadLine():
using (var rdr = new StringReader(Properties.Resources.Testing)) {
string line;
while ((line = rdr.ReadLine()) != null) {
// Do something with line
//...
}
}