Хочу добавить в проект несколько csv файлов и пользоваться ими, как текстовыми ресурсами. Ну и чтобы лежали вместе в папке для порядка. Создать папку проблем нет.
контекстное меню проекта ➙ Добавить ➙ Создать папку
Файлы тоже создаются
контекстное меню папки ➙ Добавить ➙ Создать элемент ➙ элементы Visual C# ➙ Текстовый файл
Но как пользоваться их содержимым?
http://stackoverflow.com/questions/3314140/how-to-read-embedded-resource-text-file
После добавления ресурса необходимо задать в дизайнере свойство Действия при сборке
значением Внедренный ресурс
(именование в русифицированной Visual Studio, в англоязычной будут Build Action
и Embedded Resource
).
Для извлечения текстового файла понадобится использовать метод GetManifestResourceStream()
класса Assembly
, экземпляр которого соответствующий исполняемый сборке можно получить статическим методом Assembly.GetExecutingAssembly()
. Не забудьте также что для использования Assembly
нужно вписать using System.Reflection
в заголовок модуля или обращаться к нему System.Reflection.Assembly
.
GetManifestResourceStream()
вернет Stream
. Зная, что мы имеем дело с текстом, либо считываем System.IO.StreamReader
весь файл в экземпляр string
.
using System.Reflection;
using System.IO;
...
public static string GetTextResource(string namespace, string folder, string filename)
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(
string.Format("{0}.{1}.{2}, namespace, folder, filename)))
{
using (StreamReader sr = new StreamReader(stream))
{
return sr.ReadToEnd();
}
}
}
Либо организуем другую логику считывания файла.
Используйте механизм ресурсов.
Зайдите в свойства проекта, вкладка "Ресурсы", добавьте новый файл ресурсов (если его ещё нет), добавьте новый или существующий текстовый файл.
После этого можно обращаться к этому файлу как к Properties.Resources.<Имя файла>
.
Т.е. если Вы добавили файл main.csv
, то можно будет обратиться к его содержимому как к Properties.Resources.main
. Это будет read-only строка с содержимым файла.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ПриветствуюРешил поработать с selenium в C# посредством веб-драйвера phantomJS, но при запуске phantomjs
Доброго времени сутокВозникла следующая проблема, есть XML файл, у меня получается его считать и записать данные в ComboBox, хотелось что бы при...