Eingebettete Ressourcentextdatei in C# lesen
Dieses Tutorial demonstriert das Lesen eingebetteter Ressourcentextdateien mit der Programmiersprache C#.
Eingebettete Ressourcen-Textdatei lesen
Die eingebetteten Dateien werden als eingebettete Ressourcen bezeichnet, und Sie können zur Laufzeit auf diese Dateien zugreifen, indem Sie die Assembly-Klasse verwenden, die sich im Namespace System.Reflection
befindet. Eine eingebettete Datei kann aus jeder Datei erstellt werden, die derzeit Teil des Projekts ist.
Um eine eingebettete Ressourcentextdatei zu lesen, müssen wir die folgenden Schritte ausführen:
-
Ordner und Datei hinzufügen
Zuerst fügen wir dem Projekt einen Ordner namens
files
hinzu. Dann fügen wir die in diesen Ordner eingebettete Datei hinzu, indem wir die OptionHinzufügen -> Vorhandenes Element
verwenden, die imKontextmenü
desSolution Explorer
zu finden ist, wie unten gezeigt.Dadurch können wir die in den Ordner eingebettete Datei hinzufügen.
Nachdem die einzubettenden Dateien hinzugefügt wurden, müssen Sie mit der rechten Maustaste auf
Datei
klicken und dann aufEigenschaften
klicken.Folgen Sie nun dem Screenshot unten, um den Wert des Attributs
Build Action
vonContent
auf die eingebettete Ressource zu ändern. -
Erstellen Sie ein Windows-Formular
Fügen Sie zuerst eine
TextBox
zum Windows-Formular hinzu und nennen Sie sietxtTextBox
aus ihrenEigenschaften
.Fügen Sie nun eine Schaltfläche mit dem Namen
btnText
hinzu und zeigen Sie den TextRead Embed Text
auf der Schaltfläche an, wie unten gezeigt: -
Schreiben Sie Windows Form Code
Zuerst müssen wir die folgenden Bibliotheken importieren:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Reflection;
Indem wir mit der rechten Maustaste auf die Schaltfläche
Einbettungstext lesen
klicken, um ihr Ereignis zu erstellen, schreiben wir hier den Schaltflächencode wie folgt:Wir erstellen ein
Assembly
-Methodenobjekt namensassembly
:var asmbly = Assembly.GetExecutingAssembly();
Dann erstellen wir eine Variable vom Typ
var
mit dem Namenfilepath
. Diese Variable enthält den Textdateipfad.var filePath = "ReadEmbedTextbyZeeshan.files.Shani.txt";
Zuletzt zeigen wir eingebetteten Dateitext mit
StreamReader
, der eine Textdatei aus dem angegebenen Pfad liest.using (Stream s = asmbly.GetManifestResourceStream(filePath)) using ( StreamReader sr = new StreamReader(s)) { txtTextBox.Text = sr.ReadToEnd(); }
-
Vollständiger Quellcode
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Reflection; namespace ReadEmbedTextbyZeeshan { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnText_Click(object sender, EventArgs e) { var asmbly = Assembly.GetExecutingAssembly(); var filePath = "ReadEmbedTextbyZeeshan.files.Shani.txt"; using (Stream s = asmbly.GetManifestResourceStream(filePath)) using ( StreamReader sr = new StreamReader(s)) { txtTextBox.Text = sr.ReadToEnd(); } } } }
Wenn wir auf die Schaltfläche
Read Embed Text
klicken, wird die folgende Ausgabe angezeigt:Ausgang:
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn