Anthony Raven Ответов: 2

Чтение текста из ресурсов C#


как я могу прочитать текстовый файл из ресурсов, используя эту функцию.

var md5signatures = File.ReadAllLines("mytext.txt");

           if(md5signatures.Contains(thirteenTextBox5.Text))
           {
               label39.Text = "Infected File";
               label39.ForeColor = Color.MediumVioletRed;
           }
           else
           {
               label39.Text = "Your File Is Clean !";
               label39.ForeColor = Color.LimeGreen;
           }


Что я уже пробовал:

я попробовал properties.resource, где находится имя текстового файла, и выдал ошибку.

2 Ответов

Рейтинг:
13

BillWoodruff

читать это: [^]

Цитата:
Строковые ресурсы всегда встроены и не могут быть изменены; файловые ресурсы всегда связаны и не могут быть изменены.
A. добавление файла с помощью редактора ресурсов копирует содержание файла в ваш проект в качестве статический элемент: добавленный вами файл может измениться, но содержимое вашего ресурса (resx) - нет.

B. предполагая, что файл имеет содержание, которое меняется, и что вы всегда хотите обрабатывать текущий контент:

B. 1. Создайте встроенный ресурс из файла:

добавьте новый или существующий текстовый файл в свой проект

щелкните правой кнопкой мыши на файле в обозревателе решений и установите действие сборки для этого файла на" встроенный ресурс", как правило, с параметром "копировать, если новее".

B. 2. чтение содержимого файла во время выполнения:

// код от: [^] by dtb
// required
using System.IO;
using System.Reflection;

public string GetEmbeddedResource(string namespacename, string filename)
{
    var assembly = Assembly.GetExecutingAssembly();
    var resourceName = namespacename + "." + filename;

    using (Stream stream = assembly.GetManifestResourceStream(resourceName))
    using (StreamReader reader = new StreamReader(stream))
    {
        string result = reader.ReadToEnd();
        return result;
    }
}
Пример вызова из фактического кода:
string s = GetEmbeddedResource("SociometryTree", "Notes.txt");


Anthony Raven

спасибо, что прекрасно работаешь!!!!!!

BillWoodruff

рад, что это полезно ! я предлагаю вам обернуть код в блок try/catch и/или реализовать обработку ошибок для обеспечения безопасности.

Рейтинг:
0

OriginalGriff

Я автоматически добавляю два текстовых файла в каждый проект: список задач и историю изменений. Затем на них можно ссылаться в диалоговом окне "О программе", чтобы пользователи могли видеть, какие изменения были внесены.
Чтобы добавить еще один, откройте свой проект на панели решений и дважды щелкните кнопку "Свойства".
В новом диалоговом окне выберите пункт "ресурсы" слева и при необходимости создайте файл ресурсов.
В меню Сервис нажмите стрелку вниз рядом с надписью "добавить ресурс" и выберите пункт "Добавить существующий файл". Выберите нужный файл и нажмите кнопку "Открыть".
Закройте страницу свойств и перейдите к своему коду.
Теперь вы можете получить доступ к содержимому файла:

string s = Properties.Resources.NameOfYourTextFileMinusTheExtension;